org.apache.tapestry5.internal.structure
Class InternalComponentResourcesImpl

java.lang.Object
  extended by org.apache.tapestry5.ioc.internal.util.LockSupport
      extended by org.apache.tapestry5.internal.structure.InternalComponentResourcesImpl
All Implemented Interfaces:
ComponentResources, ComponentResourcesCommon, InternalComponentResources, InternalComponentResourcesCommon, Locatable, RenderCommand

public class InternalComponentResourcesImpl
extends LockSupport
implements InternalComponentResources

The bridge between a component and its ComponentPageElement, that supplies all kinds of resources to the component, including access to its parameters, parameter bindings, and persistent field data.


Constructor Summary
InternalComponentResourcesImpl(Page page, ComponentPageElement element, ComponentResources containerResources, ComponentPageElementResources elementResources, String completeId, String nestedId, Instantiator componentInstantiator, boolean mixin)
           
 
Method Summary
 void addPageLifecycleListener(PageLifecycleListener listener)
          Adds a listener object that will be notified about page lifecycle events.
 void addPageResetListener(PageResetListener listener)
          Delegates to Page.addResetListener(org.apache.tapestry5.internal.structure.PageResetListener).
 void bindParameter(String parameterName, Binding binding)
          Used during construction of the page to identify the binding for a particular parameter.
 Link createActionLink(String eventType, boolean forForm, Object... context)
          Creates a component event request link as a callback for this component.
 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.
 Link createPageLink(Class pageClass, boolean override, Object... context)
          Creates a page render request link to render a specific page.
 Link createPageLink(String pageName, boolean override, Object... context)
          Creates a page render request link to render a specific page.
 void discardPersistentFieldChanges()
          Discards all persistent field changes for the page containing the component.
 Block findBlock(String blockId)
          As with ComponentResourcesCommon.getBlock(String), but returns null if the block is not found.
 AnnotationProvider getAnnotationProvider(String parameterName)
          Returns an annotation provider, used to obtain annotations related to the parameter.
 Resource getBaseResource()
          Returns the base resource for the component, which will represent the class's location within the classpath (this is used to resolve relative assets).
 Binding getBinding(String parameterName)
          Returns the binding for the given parameter name, or null.
 Block getBlock(String blockId)
          Returns a block from the component's template, referenced by its id.
 Block getBlockParameter(String parameterName)
          Used to access an informal parameter that's a Block.
 Block getBody()
          Returns the body of this component as a (possibly empty) block.
 Class getBoundType(String parameterName)
          Returns the actual type of the bound parameter, or null if the parameter is not bound.
 String getCompleteId()
          Returns a string consisting of the logical name of the containing page, and the nested id of this component, separated by a colon.
 Component getComponent()
          Returns the component this object provides resources for.
 ComponentModel getComponentModel()
          Returns the component model object that defines the behavior of the component.
 Component getContainer()
          Returns the component which contains this component, or null for the root component.
 Messages getContainerMessages()
          Returns the Messages from the container, or null if this is the root component (with no container).
 ComponentResources getContainerResources()
          Returns the ComponentResources for the container, or null if the this is the root component (that has no container).
 String getElementName()
          Returns the name of element that represents the component in its template, or null if not known.
 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).
 Component getEmbeddedComponent(String embeddedId)
          Returns an embedded component, given the component's id.
 Object getFieldChange(String fieldName)
          Get the current persisted value of the field.
 String getId()
          Returns the simple (or local) id of the component.
<T> T
getInformalParameter(String name, Class<T> type)
          Reads an informal parameter and coercers the bound value to the indicated type.
 Map<String,Binding> getInformalParameterBindings()
          Constructs a map linking informal parameters to the corresponding bindings.
 List<String> getInformalParameterNames()
          Returns a list of the names of any informal parameters bound to this component.
 Locale getLocale()
          Returns the locale for the page containing this component.
 Location getLocation()
          Returns the location associated with this object for error reporting purposes.
 org.slf4j.Logger getLogger()
          Returns the log instance associated with the component (which is based on the component or mixin's class name).
 Messages getMessages()
          Returns the message catalog for this component.
 Component getMixinByClassName(String mixinClassName)
          Returns the mixin instance for the fully qualfied mixin class name.
 String getNestedId()
          Return a string consisting the concatinated ids of all containing components, separated by periods.
 Component getPage()
          Returns the page that contains this component.
 PageLifecycleCallbackHub getPageLifecycleCallbackHub()
          Provides access to an object that can be used to register callbacks for page lifecycle events.
 String getPageName()
          Returns the logical name of the page containing this component.
<T extends Annotation>
T
getParameterAnnotation(String parameterName, Class<T> annotationType)
          Obtains an annotation provided by a parameter.
 ParameterConduit getParameterConduit(String parameterName)
          Gets a previously stored ParameterConduit, allowing PCs to be shared between a component and a mixin of that component.
 String getPropertyName(String parameterName)
          Returns the name of the bound property if PropBinding is used and the expression points to a property on a bean (e.g.
 Object getRenderVariable(String name)
          Returns a previously stored render variable.
 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 hasFieldChange(String fieldName)
          Checks to see if there is a value stored for the indicated field.
 boolean isBound(String parameterName)
          Returns true if the named parameter is bound, false if not.
 boolean isLoaded()
          Returns true if the component has finished loading.
 boolean isMixin()
          Returns true if these resources represent a mixin to another component.
 boolean isRendering()
          Returns true if the component is currently rendering, false otherwise.
 void persistFieldChange(String fieldName, Object newValue)
          Posts a change to a persistent field.
 void postRenderCleanup()
          Allows the resources to cleanup any render-time only data.
 void removePageLifecycleListener(PageLifecycleListener listener)
          Removes a previously added listener.
 void render(MarkupWriter writer, RenderQueue queue)
          Invoked on an object to request that it render itself.
 void renderInformalParameters(MarkupWriter writer)
          Indentifies all parameters that are not formal parameters and writes each as a attribute/value pair into the current element of the markup writer.
 void setParameterConduit(String parameterName, ParameterConduit conduit)
          Stores a ParameterConduit for later access.
 void storeRenderVariable(String name, Object value)
          Stores a render variable, accessible with the provided name.
 String toString()
           
 boolean triggerContextEvent(String eventType, EventContext context, ComponentEventCallback callback)
          Triggers a component event.
 boolean triggerEvent(String eventType, Object[] context, ComponentEventCallback handler)
          A convienience for invoking ComponentResourcesCommon.triggerContextEvent(String, EventContext , ComponentEventCallback).
 
Methods inherited from class org.apache.tapestry5.ioc.internal.util.LockSupport
acquireReadLock, downgradeWriteLockToReadLock, releaseReadLock, releaseWriteLock, takeWriteLock, upgradeReadLockToWriteLock
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

InternalComponentResourcesImpl

public InternalComponentResourcesImpl(Page page,
                                      ComponentPageElement element,
                                      ComponentResources containerResources,
                                      ComponentPageElementResources elementResources,
                                      String completeId,
                                      String nestedId,
                                      Instantiator componentInstantiator,
                                      boolean mixin)
Method Detail

isMixin

public boolean isMixin()
Description copied from interface: ComponentResources
Returns true if these resources represent a mixin to another component. The component is the container of this resources.

Specified by:
isMixin in interface ComponentResources

getLocation

public Location getLocation()
Description copied from interface: Locatable
Returns the location associated with this object for error reporting purposes.

Specified by:
getLocation in interface Locatable

toString

public String toString()
Overrides:
toString in class Object

getComponentModel

public ComponentModel getComponentModel()
Description copied from interface: ComponentResources
Returns the component model object that defines the behavior of the component.

Specified by:
getComponentModel in interface ComponentResources

getEmbeddedComponent

public Component getEmbeddedComponent(String embeddedId)
Description copied from interface: ComponentResources
Returns an embedded component, given the component's id.

Specified by:
getEmbeddedComponent in interface ComponentResources
Parameters:
embeddedId - selects the embedded component (case is ignored)

getFieldChange

public Object getFieldChange(String fieldName)
Description copied from interface: InternalComponentResources
Get the current persisted value of the field.

Specified by:
getFieldChange in interface InternalComponentResources
Parameters:
fieldName - the name of the field to access
Returns:
the value stored for the field, or null if no value is currently stored

getId

public String getId()
Description copied from interface: ComponentResourcesCommon
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.

Specified by:
getId in interface ComponentResourcesCommon

hasFieldChange

public boolean hasFieldChange(String fieldName)
Description copied from interface: InternalComponentResources
Checks to see if there is a value stored for the indicated field.

Specified by:
hasFieldChange in interface InternalComponentResources

createEventLink

public Link createEventLink(String eventType,
                            Object... context)
Description copied from interface: ComponentResourcesCommon
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 ComponentResourcesCommon.triggerEvent(String, Object[], org.apache.tapestry5.ComponentEventCallback) trigger} the named event on the component.

Specified by:
createEventLink in interface ComponentResourcesCommon
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

createActionLink

public Link createActionLink(String eventType,
                             boolean forForm,
                             Object... context)
Description copied from interface: ComponentResourcesCommon
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 ComponentResourcesCommon.triggerEvent(String, Object[], org.apache.tapestry5.ComponentEventCallback) trigger} the named event on the component.

Specified by:
createActionLink in interface ComponentResourcesCommon
Parameters:
eventType - the type of event to be triggered. Event types should be Java identifiers (contain only letters, numbers and the underscore).
forForm - if true, the link will be used as the eventType for an HTML form submission, which may affect what information is encoded into the link
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

public Link createFormEventLink(String eventType,
                                Object... context)
Description copied from interface: ComponentResourcesCommon
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 ComponentResourcesCommon.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.

Specified by:
createFormEventLink in interface ComponentResourcesCommon
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

createPageLink

public Link createPageLink(String pageName,
                           boolean override,
                           Object... context)
Description copied from interface: ComponentResourcesCommon
Creates a page render request link to render a specific page.

Specified by:
createPageLink in interface ComponentResourcesCommon
Parameters:
pageName - the logical name of the page to link to
override - if true, the context is used even if empty (normally, the target page is allowed to passivate, providing a context, when the provided context is empty)
context - the activation context for the page. If omitted, the activation context is obtained from the target page
Returns:
link for a render request to the targetted page

createPageLink

public Link createPageLink(Class pageClass,
                           boolean override,
                           Object... context)
Description copied from interface: ComponentResourcesCommon
Creates a page render request link to render a specific page. Using a page class, rather than a page name, is more refactoring safe (in the even the page is renamed or moved).

Specified by:
createPageLink in interface ComponentResourcesCommon
Parameters:
pageClass - identifies the page to link to
override - if true, the context is used even if empty (normally, the target page is allowed to passivate, providing a context, when the provided context is empty)
context - the activation context for the page. If omitted, the activation context is obtained from the target page
Returns:
link for a render request to the targetted page

discardPersistentFieldChanges

public void discardPersistentFieldChanges()
Description copied from interface: ComponentResources
Discards all persistent field changes for the page containing the component. Changes are eliminated from persistent storage (such as the Session) which will take effect in the next request (the attached page instance is not affected).

Specified by:
discardPersistentFieldChanges in interface ComponentResources

getElementName

public String getElementName()
Description copied from interface: ComponentResources
Returns the name of element that represents the component in its template, or null if not known.

Specified by:
getElementName in interface ComponentResources
Returns:
the element name or null

getInformalParameterNames

public List<String> getInformalParameterNames()
Description copied from interface: ComponentResources
Returns a list of the names of any informal parameters bound to this component.

Specified by:
getInformalParameterNames in interface ComponentResources
Returns:
the name sorted alphabetically
See Also:
SupportsInformalParameters

getInformalParameter

public <T> T getInformalParameter(String name,
                                  Class<T> type)
Description copied from interface: ComponentResources
Reads an informal parameter and coercers the bound value to the indicated type.

Specified by:
getInformalParameter in interface ComponentResources
Parameters:
name - name of informal parameter
type - output value type
Returns:
instance of type

getBody

public Block getBody()
Description copied from interface: ComponentResourcesCommon
Returns the body of this component as a (possibly empty) block. When invoked on a mixin, returns the containing component's body.

Specified by:
getBody in interface ComponentResourcesCommon

hasBody

public boolean hasBody()
Description copied from interface: ComponentResourcesCommon
Returns true if the element has a body and false otherwise. Only components may have a body; pages and mixins will return false.

Specified by:
hasBody in interface ComponentResourcesCommon

getCompleteId

public String getCompleteId()
Description copied from interface: ComponentResourcesCommon
Returns a string consisting of the logical name of the containing page, and the nested 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.

Specified by:
getCompleteId in interface ComponentResourcesCommon
See Also:
ComponentSource.getComponent(String)

getComponent

public Component getComponent()
Description copied from interface: ComponentResources
Returns the component this object provides resources for.

Specified by:
getComponent in interface ComponentResources

isBound

public boolean isBound(String parameterName)
Description copied from interface: ComponentResources
Returns true if the named parameter is bound, false if not.

Specified by:
isBound in interface ComponentResources

getParameterAnnotation

public <T extends Annotation> T getParameterAnnotation(String parameterName,
                                                       Class<T> annotationType)
Description copied from interface: ComponentResources
Obtains an annotation provided by a parameter.

Specified by:
getParameterAnnotation in interface ComponentResources
Parameters:
parameterName - name of parameter to search for the annotation
annotationType - the type of annotation
Returns:
the annotation if found or null otherwise

isRendering

public boolean isRendering()
Description copied from interface: ComponentResourcesCommon
Returns true if the component is currently rendering, false otherwise. This is most often used to determine if parameter values should be cached.

Specified by:
isRendering in interface ComponentResourcesCommon

triggerEvent

public boolean triggerEvent(String eventType,
                            Object[] context,
                            ComponentEventCallback handler)
Description copied from interface: ComponentResourcesCommon
A convienience for invoking ComponentResourcesCommon.triggerContextEvent(String, EventContext , ComponentEventCallback). Wraps the context values into an EventContext.

Specified by:
triggerEvent in interface ComponentResourcesCommon
Parameters:
eventType - event type (as determined from the request, or otherwise by design)
context - Values that may be provided to the event handler method as method parameters, or null if no context values are available
handler - 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)
See Also:
OnEventWorker, OnEvent

triggerContextEvent

public boolean triggerContextEvent(String eventType,
                                   EventContext context,
                                   ComponentEventCallback callback)
Description copied from interface: ComponentResourcesCommon
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.

Specified by:
triggerContextEvent in interface ComponentResourcesCommon
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)
See Also:
OnEventWorker, OnEvent

getNestedId

public String getNestedId()
Description copied from interface: ComponentResourcesCommon
Return a string consisting the concatinated 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.

Specified by:
getNestedId in interface ComponentResourcesCommon

getPage

public Component getPage()
Description copied from interface: ComponentResources
Returns the page that contains this component. Technically, the page itself is an internal object in Tapestry and this returns the root component of the actual page, but from an application developer point of view, this is the page.

Specified by:
getPage in interface ComponentResources

isLoaded

public boolean isLoaded()
Description copied from interface: InternalComponentResourcesCommon
Returns true if the component has finished loading. Initially, this value will be false.

Specified by:
isLoaded in interface InternalComponentResourcesCommon
See Also:
PageLifecycleListener.containingPageDidLoad()

persistFieldChange

public void persistFieldChange(String fieldName,
                               Object newValue)
Description copied from interface: InternalComponentResources
Posts a change to a persistent field. If the component is still loading, then this change is ignored. Otherwise, it is propagated, via the page to the PersistentFieldManager.

Specified by:
persistFieldChange in interface InternalComponentResources

bindParameter

public void bindParameter(String parameterName,
                          Binding binding)
Description copied from interface: InternalComponentResourcesCommon
Used during construction of the page to identify the binding for a particular parameter.

Specified by:
bindParameter in interface InternalComponentResourcesCommon

getBoundType

public Class getBoundType(String parameterName)
Description copied from interface: ComponentResources
Returns the actual type of the bound parameter, or null if the parameter is not bound. This is primarily used with property bindings, and is used to determine the actual type of the property, rather than the type of parameter (remember that type coercion automatically occurs, which can mask significant differences between the parameter type and the bound property type).

Specified by:
getBoundType in interface ComponentResources
Parameters:
parameterName - used to select the parameter (case is ignored)
Returns:
the type of the bound parameter, or null if the parameter is not bound
See Also:
Binding.getBindingType()

getBinding

public Binding getBinding(String parameterName)
Description copied from interface: InternalComponentResourcesCommon
Returns the binding for the given parameter name, or null.

Specified by:
getBinding in interface InternalComponentResourcesCommon
Parameters:
parameterName - name of component parameter
Returns:
binding if bound, or null

getAnnotationProvider

public AnnotationProvider getAnnotationProvider(String parameterName)
Description copied from interface: ComponentResources
Returns an annotation provider, used to obtain annotations related to the parameter.

Specified by:
getAnnotationProvider in interface ComponentResources
Parameters:
parameterName - used to select the parameter (case is ignored)
Returns:
the annotation provider, or null if the parameter is not bound

getLogger

public org.slf4j.Logger getLogger()
Description copied from interface: ComponentResourcesCommon
Returns the log instance associated with the component (which is based on the component or mixin's class name).

Specified by:
getLogger in interface ComponentResourcesCommon
See Also:
ComponentModel.getLogger()

getMixinByClassName

public Component getMixinByClassName(String mixinClassName)
Description copied from interface: InternalComponentResourcesCommon
Returns the mixin instance for the fully qualfied mixin class name.

Specified by:
getMixinByClassName in interface InternalComponentResourcesCommon
Parameters:
mixinClassName - fully qualified class name
Returns:
IllegalArgumentException if no such mixin is associated with the core component

renderInformalParameters

public void renderInformalParameters(MarkupWriter writer)
Description copied from interface: ComponentResources
Indentifies all parameters that are not formal parameters and writes each as a attribute/value pair into the current element of the markup writer.

Specified by:
renderInformalParameters in interface ComponentResources
Parameters:
writer - to which attributes will be written

getContainer

public Component getContainer()
Description copied from interface: ComponentResources
Returns the component which contains this component, or null for the root component. For mixins, this returns the componet to which the mixin is attached.

Specified by:
getContainer in interface ComponentResources

getContainerResources

public ComponentResources getContainerResources()
Description copied from interface: ComponentResources
Returns the ComponentResources for the container, or null if the this is the root component (that has no container). As a special case, for a mixin, this returns the core component's resources.

Specified by:
getContainerResources in interface ComponentResources

getContainerMessages

public Messages getContainerMessages()
Description copied from interface: ComponentResources
Returns the Messages from the container, or null if this is the root component (with no container). As a special case, for a mixin, this return the core component's messages.

Specified by:
getContainerMessages in interface ComponentResources

getLocale

public Locale getLocale()
Description copied from interface: ComponentResourcesCommon
Returns the locale for the page containing this component.

Specified by:
getLocale in interface ComponentResourcesCommon
See Also:
ComponentResourcesCommon.getResourceSelector()

getResourceSelector

public ComponentResourceSelector getResourceSelector()
Description copied from interface: ComponentResourcesCommon
Returns the selector used when constructing the component and its containing page.

Specified by:
getResourceSelector in interface ComponentResourcesCommon

getMessages

public Messages getMessages()
Description copied from interface: ComponentResources
Returns the message catalog for this component.

Specified by:
getMessages in interface ComponentResources

getElementName

public String getElementName(String defaultElementName)
Description copied from interface: ComponentResourcesCommon
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).

Specified by:
getElementName in interface ComponentResourcesCommon
Parameters:
defaultElementName - element name to return if the element name is not known (may be null)
Returns:
the element name

getBlock

public Block getBlock(String blockId)
Description copied from interface: ComponentResourcesCommon
Returns a block from the component's template, referenced by its id.

Specified by:
getBlock in interface ComponentResourcesCommon
Parameters:
blockId - the id of the block (case insensitive)
Returns:
the identified Block
See Also:
ComponentResourcesCommon.findBlock(String)

getBlockParameter

public Block getBlockParameter(String parameterName)
Description copied from interface: ComponentResources
Used to access an informal parameter that's a Block.

Specified by:
getBlockParameter in interface ComponentResources
Parameters:
parameterName - the name of the informal parameter (case is ignored)
Returns:
the informal Block parameter, or null if not bound

findBlock

public Block findBlock(String blockId)
Description copied from interface: ComponentResourcesCommon
As with ComponentResourcesCommon.getBlock(String), but returns null if the block is not found.

Specified by:
findBlock in interface ComponentResourcesCommon
Parameters:
blockId - the id of the block (case insensitive)
Returns:
the block, or null

getBaseResource

public Resource getBaseResource()
Description copied from interface: ComponentResources
Returns the base resource for the component, which will represent the class's location within the classpath (this is used to resolve relative assets).

Specified by:
getBaseResource in interface ComponentResources

getPageName

public String getPageName()
Description copied from interface: ComponentResourcesCommon
Returns the logical name of the page containing this component. This is the short name (it often appears in URLs)

Specified by:
getPageName in interface ComponentResourcesCommon
Returns:
the logical name of the page which contains this component

getInformalParameterBindings

public Map<String,Binding> getInformalParameterBindings()
Description copied from interface: InternalComponentResourcesCommon
Constructs a map linking informal parameters to the corresponding bindings.

Specified by:
getInformalParameterBindings in interface InternalComponentResourcesCommon
Returns:
map, possible empty

getRenderVariable

public Object getRenderVariable(String name)
Description copied from interface: ComponentResources
Returns a previously stored render variable.

Specified by:
getRenderVariable in interface ComponentResources
Parameters:
name - of the variable (case will be ignored)
Returns:
the variable's value

storeRenderVariable

public void storeRenderVariable(String name,
                                Object value)
Description copied from interface: ComponentResources
Stores a render variable, accessible with the provided name.

Specified by:
storeRenderVariable in interface ComponentResources
Parameters:
name - of value to store
value - value to store (may not be null)

postRenderCleanup

public void postRenderCleanup()
Description copied from interface: InternalComponentResources
Allows the resources to cleanup any render-time only data.

Specified by:
postRenderCleanup in interface InternalComponentResources

addPageLifecycleListener

public void addPageLifecycleListener(PageLifecycleListener listener)
Description copied from interface: ComponentResources
Adds a listener object that will be notified about page lifecycle events.

Specified by:
addPageLifecycleListener in interface ComponentResources

removePageLifecycleListener

public void removePageLifecycleListener(PageLifecycleListener listener)
Description copied from interface: ComponentResources
Removes a previously added listener.

Specified by:
removePageLifecycleListener in interface ComponentResources

addPageResetListener

public void addPageResetListener(PageResetListener listener)
Description copied from interface: InternalComponentResources
Delegates to Page.addResetListener(org.apache.tapestry5.internal.structure.PageResetListener).

Specified by:
addPageResetListener in interface InternalComponentResources
Parameters:
listener - to register

getParameterConduit

public ParameterConduit getParameterConduit(String parameterName)
Description copied from interface: InternalComponentResources
Gets a previously stored ParameterConduit, allowing PCs to be shared between a component and a mixin of that component.

Specified by:
getParameterConduit in interface InternalComponentResources

setParameterConduit

public void setParameterConduit(String parameterName,
                                ParameterConduit conduit)
Description copied from interface: InternalComponentResources
Stores a ParameterConduit for later access. Tthis occurs inside a component's PageLifecycleListener.containingPageDidLoad() lifecycle method.

Specified by:
setParameterConduit in interface InternalComponentResources

getPropertyName

public String getPropertyName(String parameterName)
Description copied from interface: InternalComponentResources
Returns the name of the bound property if PropBinding is used and the expression points to a property on a bean (e.g. user.name). Otherwise this method returns null.

Specified by:
getPropertyName in interface InternalComponentResources
Parameters:
parameterName - name of the parameter

render

public void render(MarkupWriter writer,
                   RenderQueue queue)
Description copied from interface: RenderCommand
Invoked on an object to request that it render itself. This involves a mix of invoking methods on the writer, and queueing up additional commands (often, representing children of the object that was invoked) to perform additional rendering.

In this way, rendering is a tail recursive algorithm, but is not implemented using tail recursion.

Specified by:
render in interface RenderCommand
Since:
5.3

getPageLifecycleCallbackHub

public PageLifecycleCallbackHub getPageLifecycleCallbackHub()
Description copied from interface: ComponentResources
Provides access to an object that can be used to register callbacks for page lifecycle events.

Specified by:
getPageLifecycleCallbackHub in interface ComponentResources
Returns:
the hub


Copyright © 2003-2012 The Apache Software Foundation.