Interface ComponentResourcesCommon

    • 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 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.
        See Also:
        ComponentSource.getComponent(String)
      • triggerEvent

        boolean triggerEvent​(String eventType,
                             Object[] contextValues,
                             ComponentEventCallback callback)
        A convenience method for invoking triggerContextEvent(String, EventContext , ComponentEventCallback). Wraps the context values into an EventContext.
        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 available
        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
      • 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()
      • 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 with getBlock(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