Interface ComponentResources

All Superinterfaces:
ComponentResourcesCommon, Locatable
All Known Subinterfaces:
InternalComponentResources
All Known Implementing Classes:
InternalComponentResourcesImpl

Provides a component instance with the resources provided by the framework. In many circumstances, the resources object can be considered the component itself; in others, it is the component property, an instance of a class provided by the application developer (though transformed in many ways while being loaded) that is the true component. In reality, it is the combination of the resources object with the user class instance that forms the components; neither is useful without the other.
  • Method Details

    • 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).
    • getComponentModel

      Returns the component model object that defines the behavior of the component.
    • getComponent

      Returns the component this object provides resources for.
    • getContainer

      Returns the component which contains this component, or null for the root component. For mixins, this returns the component to which the mixin is attached.
    • getContainerResources

      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.
    • getContainerMessages

      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.
    • getPage

      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.
    • getEmbeddedComponent

      Returns an embedded component, given the component's id.
      Parameters:
      embeddedId - selects the embedded component (case is ignored)
      Throws:
      UnknownValueException - if this component does not contain a component with the given id
    • isBound

      boolean isBound(String parameterName)
      Returns true if the named parameter is bound, false if not.
    • getParameterAnnotation

      <T extends Annotation> T getParameterAnnotation(String parameterName, Class<T> annotationType)
      Obtains an annotation provided by a parameter.
      Parameters:
      parameterName - name of parameter to search for the annotation
      annotationType - the type of annotation
      Returns:
      the annotation if found or null otherwise
    • renderInformalParameters

      Indentifies all parameters that are not formal parameters and writes each as a attribute/value pair into the current element of the markup writer.
      Parameters:
      writer - to which attributes will be written
    • getMessages

      Returns the message catalog for this component.
    • getBoundType

      Class getBoundType(String parameterName)
      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).
      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:
    • getBoundGenericType

      Returns the generic type of the bound parameter, or null if the parameter is not bound. This is useful for when the parameter is bound to a generic property (eg java.util.List) to determine the element type.
      Parameters:
      parameterName - used to select the parameter (case is ignored)
      Returns:
      the generic type of the bound parameter, or null if the parameter is not bound
      See Also:
    • getAnnotationProvider

      Returns an annotation provider, used to obtain annotations related to the parameter.
      Parameters:
      parameterName - used to select the parameter (case is ignored)
      Returns:
      the annotation provider, or null if the parameter is not bound
    • getBlockParameter

      Block getBlockParameter(String parameterName)
      Used to access an informal parameter that's a Block.
      Parameters:
      parameterName - the name of the informal parameter (case is ignored)
      Returns:
      the informal Block parameter, or null if not bound
    • getRenderVariable

      Returns a previously stored render variable.
      Parameters:
      name - of the variable (case will be ignored)
      Returns:
      the variable's value
      Throws:
      IllegalArgumentException - if the name doesn't correspond to a stored value
    • storeRenderVariable

      void storeRenderVariable(String name, Object value)
      Stores a render variable, accessible with the provided name.
      Parameters:
      name - of value to store
      value - value to store (may not be null)
      Throws:
      IllegalStateException - if the component is not currently rendering
    • addPageLifecycleListener

      Deprecated.
      In 5.3.4, use getPageLifecycleCallbackHub() instead
      Adds a listener object that will be notified about page lifecycle events.
    • getPageLifecycleCallbackHub

      Provides access to an object that can be used to register callbacks for page lifecycle events.
      Returns:
      the hub
      Since:
      5.3.4
    • removePageLifecycleListener

      Deprecated.
      Removes a previously added listener.
      Since:
      5.2.0
    • discardPersistentFieldChanges

      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).
    • getElementName

      Returns the name of element that represents the component in its template, or null if not known.
      Returns:
      the element name or null
    • getInformalParameterNames

      Returns a list of the names of any informal parameters bound to this component.
      Returns:
      the name sorted alphabetically
      See Also:
    • getInformalParameter

      <T> T getInformalParameter(String name, Class<T> type)
      Reads an informal parameter and coerces the bound value to the indicated type.
      Parameters:
      name - name of informal parameter
      type - output value type
      Returns:
      instance of type
    • isMixin

      boolean isMixin()
      Returns true if these resources represent a mixin to another component. The component is the container of this resources.
      Since:
      5.2.0