Interface PullService

  • All Superinterfaces:
    Initable, Service
    All Known Implementing Classes:
    TurbinePullService

    public interface PullService
    extends Service
    The Pull Service manages the creation of application tools that are available to all templates in a Turbine application. By using the Pull Service you can avoid having to make Screens to populate a context for use in a particular template. The Pull Service creates a set of tools, as specified in the TR.props file. These tools can have global scope, request scope, authorized or session scope (i.e. stored in user temp hashmap) or persistent scope (i.e. stored in user perm hashmap) The standard way of referencing these global tools is through the toolbox handle. This handle is typically $toolbox, but can be specified in the TR.props file. So, for example, if you had a UI Manager tool which created a set of UI attributes from a properties file, and one of the properties was 'bgcolor', then you could access this UI attribute with $ui.bgcolor. The identifier that is given to the tool, in this case 'ui', can be specified as well.
    Version:
    $Id$
    Author:
    Jason van Zyl, Henning P. Schmiedehausen, Peter Courcoux
    • Method Detail

      • getGlobalContext

        org.apache.velocity.context.Context getGlobalContext()
        Get the context containing global tools that will be use as part of the Turbine Pull Model.
        Returns:
        A Context object which contains the Global Tool instances.
      • populateContext

        void populateContext​(org.apache.velocity.context.Context context,
                             PipelineData pipelineData)
        Populate the given context with all request, session, authorized and persistent scope tools (it is assumed that the context already wraps the global context, and thus already contains the global tools).
        Parameters:
        context - a Velocity Context to populate
        pipelineData - a RunData object for request specific data
      • populateContext

        void populateContext​(org.apache.velocity.context.Context context,
                             RunData data)
        Populate the given context with all request, session, authorized and persistent scope tools (it is assumed that the context already wraps the global context, and thus already contains the global tools).
        Parameters:
        context - a Velocity Context to populate
        data - a RunData object for request specific data
      • getAbsolutePathToResourcesDirectory

        String getAbsolutePathToResourcesDirectory()
        Return the absolute path of the resources directory used by application tools.
        Returns:
        A directory path in the file system or null.
      • getResourcesDirectory

        String getResourcesDirectory()
        Return the resources directory. This is relative to the webapp context.
        Returns:
        A directory path to the resources directory relative to the webapp root or null.
      • releaseTools

        void releaseTools​(org.apache.velocity.context.Context context)
        Release tool instances from the given context to the object pool
        Parameters:
        context - a Velocity Context to release tools from