Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.apache.turbine.services.pull
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: PullService.java 957284 2010-06-23 17:53:31Z tv $
Author:
  Jason van Zyl, Henning P. Schmiedehausen, Peter Courcoux

Field Summary
`static String` | `AUTHORIZED_TOOL` Property Key for the authorized tools
`static String` | `GLOBAL_TOOL` Property Key for the global tools
`static String` | `PERSISTENT_TOOL` Property Key for the persistent tools
`static String` | `REQUEST_TOOL` Property Key for the request tools
`static String` | `SERVICE_NAME` The key under which this service is stored in TurbineServices.
`static String` | `SESSION_TOOL` Property Key for the session tools
`static String` | `SESSION_TOOLS_ATTRIBUTE_PREFIX` prefix for key used in the session to store session scope pull tools
`static String` | `TOOL_RESOURCES_DIR_DEFAULT` Default value for the application tool resources.
`static String` | `TOOL_RESOURCES_DIR_KEY` Property tag for application tool resources directory
`static boolean` | `TOOLS_PER_REQUEST_REFRESH_DEFAULT` Default value for per request tool refreshing
`static String` | `TOOLS_PER_REQUEST_REFRESH_KEY` Property tag for per request tool refreshing (for obvious reasons has no effect for per-request tools)

Method Summary
`String` | `getAbsolutePathToResourcesDirectory()` Return the absolute path of the resources directory used by application tools.
`org.apache.velocity.context.Context` | `getGlobalContext()` Get the context containing global tools that will be use as part of the Turbine Pull Model.
`String` | `getResourcesDirectory()` Return the resources directory.
`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).
`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).
`void` | `releaseTools(org.apache.velocity.context.Context context)` Release tool instances from the given context to the object pool

Methods inherited from interface org.apache.turbine.services.Service
`getConfiguration, getName, getProperties, setName, setServiceBroker`

Methods inherited from interface org.apache.turbine.services.Initable
`getInit, init, init, setInitableBroker, shutdown`

Field Detail

### SERVICE_NAME

    static final String SERVICE_NAME

  The key under which this service is stored in TurbineServices.

  See Also:
    Constant Field Values

### GLOBAL_TOOL

    static final String GLOBAL_TOOL

  Property Key for the global tools

  See Also:
    Constant Field Values

### REQUEST_TOOL

    static final String REQUEST_TOOL

  Property Key for the request tools

  See Also:
    Constant Field Values

### SESSION_TOOL

    static final String SESSION_TOOL

  Property Key for the session tools

  See Also:
    Constant Field Values

### AUTHORIZED_TOOL

    static final String AUTHORIZED_TOOL

  Property Key for the authorized tools

  See Also:
    Constant Field Values

### PERSISTENT_TOOL

    static final String PERSISTENT_TOOL

  Property Key for the persistent tools

  See Also:
    Constant Field Values

### TOOL_RESOURCES_DIR_KEY

    static final String TOOL_RESOURCES_DIR_KEY

  Property tag for application tool resources directory

  See Also:
    Constant Field Values

### TOOL_RESOURCES_DIR_DEFAULT

    static final String TOOL_RESOURCES_DIR_DEFAULT

  Default value for the application tool resources. This is relative to the webapp root

  See Also:
    Constant Field Values

### TOOLS_PER_REQUEST_REFRESH_KEY

    static final String TOOLS_PER_REQUEST_REFRESH_KEY

  Property tag for per request tool refreshing (for obvious reasons has no effect for per-request tools)

  See Also:
    Constant Field Values

### TOOLS_PER_REQUEST_REFRESH_DEFAULT

    static final boolean TOOLS_PER_REQUEST_REFRESH_DEFAULT

  Default value for per request tool refreshing

  See Also:
    Constant Field Values

### SESSION_TOOLS_ATTRIBUTE_PREFIX

    static final String SESSION_TOOLS_ATTRIBUTE_PREFIX

  prefix for key used in the session to store session scope pull tools

  See Also:
    Constant Field Values

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
    `data` - 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

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2000-2011 The Apache Software Foundation. All Rights Reserved.