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
  • Field Details

  • Method Details

    • 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

      Return the absolute path of the resources directory used by application tools.
      Returns:
      A directory path in the file system or null.
    • 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