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


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