org.apache.turbine.services.pull
Class TurbinePullService
java.lang.Object
|
+--org.apache.turbine.services.BaseInitable
|
+--org.apache.turbine.services.BaseService
|
+--org.apache.turbine.services.TurbineBaseService
|
+--org.apache.turbine.services.pull.TurbinePullService
- All Implemented Interfaces:
- Initable, PullService, Service
- public class TurbinePullService
- extends TurbineBaseService
- implements PullService
This is the concrete implementation of the Turbine
Pull Service.
These are tools that are placed in the context by the service
These tools will be made available to all your
templates. You list the tools in the following way:
tool.. =
is the tool scope: global, request, session
or persistent (see below for more details)
is the name of the tool in the context
You can configure the tools in this way:
tool.. =
So if you find "global", "request", "session" or "persistent" as second
part, it is a configuration to put a tool into the toolbox, else it is a
tool specific configuration.
For example:
tool.global.ui = org.apache.turbine.util.pull.UIManager
tool.global.mm = org.apache.turbine.util.pull.MessageManager
tool.request.link = org.apache.turbine.util.template.TemplateLink
tool.request.page = org.apache.turbine.util.template.TemplatePageAttributes
Then:
tool.ui.skin = default
configures the value of "skin" for the "ui" tool.
Tools are accessible in all templates by the given
to the tool. So for the above listings the UIManager would
be available as $ui, the MessageManager as $mm, the TemplateLink
as $link and the TemplatePageAttributes as $page.
You should avoid using tool names called "global", "request",
"session" or "persistent" because of clashes with the possible Scopes.
Scopes:
global: tool is instantiated once and that instance is available
to all templates for all requests. Tool must be threadsafe.
request: tool is instantiated once for each request (although the
PoolService is used to recycle instances). Tool need not
be threadsafe.
session: tool is instantiated once for each user session, and is
stored in the user's temporary hashtable. Tool should be
threadsafe.
persistent: tool is instantitated once for each use session, and
is stored in the user's permanent hashtable. This means
for a logged in user the tool will be persisted in the
user's objectdata. Tool should be threadsafe and
Serializable.
Defaults: none
- Version:
- $Id: TurbinePullService.java,v 1.7 2002/08/14 16:51:25 henning Exp $
- Author:
- Jason van Zyl, Sean Legassick
Method Summary |
java.lang.String |
getAbsolutePathToResourcesDirectory()
Return the absolute path to the resources directory
used by the application tools. |
org.apache.velocity.context.Context |
getGlobalContext()
Return the Context which contains all global tools that
are to be used in conjunction with the Turbine
Pull Model. |
java.lang.String |
getResourcesDirectory()
Return the resources directory. |
void |
init()
Called the first time the Service is used. |
void |
populateContext(org.apache.velocity.context.Context context,
RunData data)
Populate the given context with all request, session
and persistent scope tools (it is assumed that the context
already wraps the global context, and thus already contains
the global tools). |
void |
refreshGlobalTools()
Refresh the global tools. |
boolean |
refreshToolsPerRequest()
Should we refresh the ToolBox on
a per request basis. |
void |
releaseTools(org.apache.velocity.context.Context context)
Release the request-scope tool instances in the
given Context back to the pool |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
TurbinePullService
public TurbinePullService()
init
public void init()
throws InitializationException
- Called the first time the Service is used.
- Specified by:
init
in interface Initable
- Overrides:
init
in class TurbineBaseService
- Following copied from interface:
org.apache.turbine.services.Initable
- Throws:
InitializationException,
- if initialization of this
class was not successful.
getGlobalContext
public org.apache.velocity.context.Context getGlobalContext()
- Return the Context which contains all global tools that
are to be used in conjunction with the Turbine
Pull Model.
- Specified by:
getGlobalContext
in interface PullService
populateContext
public void populateContext(org.apache.velocity.context.Context context,
RunData data)
- Populate the given context with all request, session
and persistent scope tools (it is assumed that the context
already wraps the global context, and thus already contains
the global tools).
- Specified by:
populateContext
in interface PullService
- Parameters:
context
- a Velocity Context to populatedata
- a RunData object for request specific data
getAbsolutePathToResourcesDirectory
public java.lang.String getAbsolutePathToResourcesDirectory()
- Return the absolute path to the resources directory
used by the application tools.
- Specified by:
getAbsolutePathToResourcesDirectory
in interface PullService
getResourcesDirectory
public java.lang.String getResourcesDirectory()
- Return the resources directory. This is
relative to the web context.
- Specified by:
getResourcesDirectory
in interface PullService
refreshGlobalTools
public void refreshGlobalTools()
- Refresh the global tools. We can
only refresh those tools that adhere to
ApplicationTool interface because we
know those types of tools have a refresh
method.
- Specified by:
refreshGlobalTools
in interface PullService
refreshToolsPerRequest
public boolean refreshToolsPerRequest()
- Should we refresh the ToolBox on
a per request basis.
- Specified by:
refreshToolsPerRequest
in interface PullService
releaseTools
public void releaseTools(org.apache.velocity.context.Context context)
- Release the request-scope tool instances in the
given Context back to the pool
- Specified by:
releaseTools
in interface PullService
- Parameters:
context
- the Velocity Context to release tools from
Copyright © 2000-2002 Apache Software Foundation. All Rights Reserved.