Interface ComponentResources

    • Method Detail

      • getBaseResource

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

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

        Messages 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

        Component 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

        Component getEmbeddedComponent​(java.lang.String embeddedId)
        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​(java.lang.String parameterName)
        Returns true if the named parameter is bound, false if not.
      • getParameterAnnotation

        <T extends java.lang.annotation.Annotation> T getParameterAnnotation​(java.lang.String parameterName,
                                                                             java.lang.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

        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.
        Parameters:
        writer - to which attributes will be written
      • getBoundType

        java.lang.Class getBoundType​(java.lang.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:
        Binding.getBindingType()
      • getBoundGenericType

        java.lang.reflect.Type getBoundGenericType​(java.lang.String parameterName)
        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:
        Binding.getBindingType()
      • getAnnotationProvider

        AnnotationProvider getAnnotationProvider​(java.lang.String parameterName)
        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​(java.lang.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

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

        void storeRenderVariable​(java.lang.String name,
                                 java.lang.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:
        java.lang.IllegalStateException - if the component is not currently rendering
      • discardPersistentFieldChanges

        void 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

        java.lang.String getElementName()
        Returns the name of element that represents the component in its template, or null if not known.
        Returns:
        the element name or null
      • getInformalParameter

        <T> T getInformalParameter​(java.lang.String name,
                                   java.lang.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