Package org.apache.tapestry5
Interface ComponentResourcesCommon
-
- All Superinterfaces:
Locatable
- All Known Subinterfaces:
ComponentPageElement
,ComponentResources
,InternalComponentResources
- All Known Implementing Classes:
ComponentPageElementImpl
,InternalComponentResourcesImpl
public interface ComponentResourcesCommon extends Locatable
Operations shared by the publicComponentResources
interface andComponentPageElement
interface (on the internal side).
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description Link
createEventLink(String eventType, Object... context)
Creates a component event request link as a callback for this component.Link
createFormEventLink(String eventType, Object... context)
Creates a component event request link as a callback for this component.Block
findBlock(String blockId)
As withgetBlock(String)
, but returns null if the block is not found.Block
getBlock(String blockId)
Returns a block from the component's template, referenced by its id.Block
getBody()
Returns the body of this component as a (possibly empty) block.String
getCompleteId()
Returns a string consisting of the logical name of the containing page, and thenested id
of this component, separated by a colon.String
getElementName(String defaultElementName)
Returns the name of element that represents the component in its template, or the provided default element name if the element was a component type (in the Tapestry namespace).String
getId()
Returns the simple (or local) id of the component.Locale
getLocale()
Returns the locale for the page containing this component.org.slf4j.Logger
getLogger()
Returns the log instance associated with the component (which is based on the component or mixin's class name).String
getNestedId()
Return a string consisting the concatenated ids of all containing components, separated by periods.String
getPageName()
Returns the logical name of the page containing this component.ComponentResourceSelector
getResourceSelector()
Returns the selector used when constructing the component and its containing page.boolean
hasBody()
Returns true if the element has a body and false otherwise.boolean
isRendering()
Returns true if the component is currently rendering, false otherwise.boolean
triggerContextEvent(String eventType, EventContext context, ComponentEventCallback callback)
Triggers a component event.boolean
triggerEvent(String eventType, Object[] contextValues, ComponentEventCallback callback)
A convenience method for invokingtriggerContextEvent(String, EventContext , ComponentEventCallback)
.-
Methods inherited from interface org.apache.tapestry5.commons.Locatable
getLocation
-
-
-
-
Method Detail
-
getId
String getId()
Returns the simple (or local) id of the component. The id will be unique within the component's immediate container. For a page's root component, the value null is returned.
-
getNestedId
String getNestedId()
Return a string consisting the concatenated ids of all containing components, separated by periods. In addition, nested ids are always all lower case. I.e., "foo.bar.baz". Returns null for the root component of a page.
-
getCompleteId
String getCompleteId()
Returns a string consisting of the logical name of the containing page, and thenested id
of this component, separated by a colon. I.e., "MyPage:foo.bar.baz". For a page, returns just the page's name. This value is often used to obtain an equivalent component instance in a later request.- See Also:
ComponentSource.getComponent(String)
-
triggerEvent
boolean triggerEvent(String eventType, Object[] contextValues, ComponentEventCallback callback)
A convenience method for invokingtriggerContextEvent(String, EventContext , ComponentEventCallback)
. Wraps the context values into anEventContext
.- Parameters:
eventType
- event type (as determined from the request, or otherwise by design)contextValues
- Values that may be provided to the event handler method as method parameters, or null if no context values are availablecallback
- the handler to be informed of the result, or null if the event is a notification that does not support return values from event handler methods (the value true is allowed even if the handler is null).- Returns:
- true if any event handler was invoked (even if no event handler method returns a non-null value)
- Throws:
ComponentEventException
- if an event handler method throws a checked or unchecked exception- See Also:
OnEventWorker
,OnEvent
-
triggerContextEvent
boolean triggerContextEvent(String eventType, EventContext context, ComponentEventCallback callback)
Triggers a component event. A search for an event handling method will occur, first in the component, then its container, and so on. When a matching event handler method is located, it is invoked. If the method returns a value, the value is passed to the callback (if callback is null, then it is an error for a method to return a non-null value). Resolution of event type to event handler methods is case insensitive.- Parameters:
eventType
- event type (as determined from the request, or otherwise by design)context
- the context (as extracted from the request, or provided by the triggering component); these values may be provided to event handler methods via their parameters (may not be null)callback
- the handler to be informed of the result, or null if the event is a notification that does not support return values from event handler methods (the value true is allowed even if the handler is null).- Returns:
- true if any event handler was invoked (even if no event handler method returns a non-null value)
- Throws:
ComponentEventException
- if an event handler method throws a checked or unchecked exception- See Also:
OnEventWorker
,OnEvent
-
isRendering
boolean isRendering()
Returns true if the component is currently rendering, false otherwise. This is most often used to determine if parameter values should be cached.
-
getLogger
org.slf4j.Logger getLogger()
Returns the log instance associated with the component (which is based on the component or mixin's class name).- See Also:
ComponentModel.getLogger()
-
getLocale
Locale getLocale()
Returns the locale for the page containing this component.- See Also:
getResourceSelector()
-
getResourceSelector
ComponentResourceSelector getResourceSelector()
Returns the selector used when constructing the component and its containing page.- Since:
- 5.3
-
getElementName
String getElementName(String defaultElementName)
Returns the name of element that represents the component in its template, or the provided default element name if the element was a component type (in the Tapestry namespace).- Parameters:
defaultElementName
- element name to return if the element name is not known (may be null)- Returns:
- the element name
-
getBlock
Block getBlock(String blockId)
Returns a block from the component's template, referenced by its id.- Parameters:
blockId
- the id of the block (case insensitive)- Returns:
- the identified Block
- Throws:
BlockNotFoundException
- if no block with the given id exists- See Also:
findBlock(String)
-
findBlock
Block findBlock(String blockId)
As withgetBlock(String)
, but returns null if the block is not found.- Parameters:
blockId
- the id of the block (case insensitive)- Returns:
- the block, or null
-
getPageName
String getPageName()
Returns the logical name of the page containing this component. This is the short name (it often appears in URLs)- Returns:
- the logical name of the page which contains this component
-
hasBody
boolean hasBody()
Returns true if the element has a body and false otherwise. Only components may have a body; pages and mixins will return false.
-
getBody
Block getBody()
Returns the body of this component as a (possibly empty) block. When invoked on a mixin, returns the containing component's body.
-
createEventLink
Link createEventLink(String eventType, Object... context)
Creates a component event request link as a callback for this component. The event type and context (as well as the page name and nested component id) will be encoded into a URL. A request for the URL will triggerEvent(String, Object[], org.apache.tapestry5.ComponentEventCallback) trigger} the named event on the component.- Parameters:
eventType
- the type of event to be triggered. Event types should be Java identifiers (contain only letters, numbers and the underscore).context
- additional objects to be encoded into the path portion of the link; each is converted to a string and URI encoded- Returns:
- link object for the callback
-
createFormEventLink
Link createFormEventLink(String eventType, Object... context)
Creates a component event request link as a callback for this component. The event type and context (as well as the page name and nested component id) will be encoded into a URL. A request for the URL will triggerEvent(String, Object[], org.apache.tapestry5.ComponentEventCallback) trigger} the named event on the component. This is only used for form submission events, as extra data may be encoded in the form as hidden fields.- Parameters:
eventType
- the type of event to be triggered. Event types should be Java identifiers (contain only letters, numbers and the underscore).context
- additional objects to be encoded into the path portion of the link; each is converted to a string and URI encoded- Returns:
- link object for the callback
-
-