|
|||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||||
java.lang.Objectorg.apache.avalon.framework.logger.AbstractLogEnabled
org.apache.cocoon.components.treeprocessor.DefaultTreeBuilder
| Nested Class Summary |
| Nested classes inherited from class org.apache.cocoon.components.treeprocessor.TreeBuilder |
TreeBuilder.EventComponent |
| Field Summary | |
protected ComponentLocator |
applicationContainer
Optional application container |
protected Map |
attributes
|
protected List |
enterSitemapEventListeners
Optional event listeners for the enter sitemap event |
protected ClassLoader |
itsClassLoader
The classloader for the processor that we are building. |
protected ProcessorComponentInfo |
itsComponentInfo
The sitemap component information grabbed while building itsMaanger |
protected String |
itsNamespace
The namespace of configuration for the processor that we are building. |
protected List |
leaveSitemapEventListeners
Optional event listeners for the leave sitemap event |
protected ServiceManager |
parentProcessorManager
Component processor of the parent manager (can be null for the root sitemap) |
protected ConcreteTreeProcessor |
processor
The tree processor that we are building. |
| Fields inherited from interface org.apache.cocoon.components.treeprocessor.TreeBuilder |
ROLE |
| Constructor Summary | |
DefaultTreeBuilder()
|
|
| Method Summary | |
ProcessingNode |
build(Configuration tree)
Build a processing tree from a Configuration. |
void |
contextualize(Context context)
|
protected ClassLoader |
createClassLoader(Configuration tree)
|
protected Context |
createContext(Configuration tree)
Create a context that will be used for all Contextualizable
ProcessingNodeBuilders and ProcessingNodes.
|
ProcessingNodeBuilder |
createNodeBuilder(Configuration config)
|
protected ServiceManager |
createServiceManager(ClassLoader classloader,
Context context,
Configuration tree)
Create a service manager that will be used for all Serviceable
ProcessingNodeBuilders and ProcessingNodes.
|
protected ProcessingNode |
createTree(Configuration tree)
Create the tree once component manager and node builders have been set up. |
void |
dispose()
|
Object |
getAttribute(String name)
Get the value of an attribute. |
protected String |
getBuilderConfigURL()
Get the location of the treebuilder config file. |
ClassLoader |
getBuiltProcessorClassLoader()
|
ServiceManager |
getBuiltProcessorManager()
|
ComponentLocator |
getComponentLocator()
Return the sitemap component locator - if available. |
List |
getDisposableNodes()
Return the list of ProcessingNodes part of this tree that are
Disposable. |
List |
getEnterSitemapEventListeners()
Return all event listers that are registered for the EnterSitemapEvent. |
List |
getLeaveSitemapEventListeners()
Return all event listers that are registered for the LeaveSitemapEvent. |
protected LocationImpl |
getLocation(Configuration config)
|
String |
getNamespace()
Get the namespace URI that builders should use to find their nodes. |
protected Map |
getParameters(Configuration config,
Location location)
Get <xxx:parameter> elements as a Map of ListOfMapResolvers,
that can be turned into parameters using ListOfMapResolver.buildParameters(). |
ConcreteTreeProcessor |
getProcessor()
|
ProcessingNode |
getRegisteredNode(String name)
|
String |
getTypeForStatement(Configuration statement,
String role)
Get the type for a statement : it returns the 'type' attribute if present, and otherwhise the default type defined for this role in the components declarations. |
protected void |
linkNodes()
Resolve links : call linkNode() on all
LinkedProcessingNodeBuilders.
|
void |
recycle()
|
boolean |
registerNode(String name,
ProcessingNode node)
Register a ProcessingNode under a given name.
|
protected VariableResolver |
resolve(String expression)
Resolve expression using its manager |
void |
service(ServiceManager manager)
|
void |
setAttribute(String name,
Object value)
Add an attribute. |
void |
setParentProcessorManager(ServiceManager manager)
|
void |
setProcessor(ConcreteTreeProcessor processor)
|
ProcessingNode |
setupNode(ProcessingNode node,
Configuration config)
Setup a ProcessingNode by setting its location, calling all
the lifecycle interfaces it implements and giving it the parameter map if
it's a ParameterizableNode.
|
| Methods inherited from class org.apache.avalon.framework.logger.AbstractLogEnabled |
enableLogging, getLogger, setupLogger, setupLogger, setupLogger |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
protected Map attributes
protected ConcreteTreeProcessor processor
protected String itsNamespace
protected ClassLoader itsClassLoader
createServiceManager(ClassLoader, Context, Configuration).
protected ProcessorComponentInfo itsComponentInfo
protected ComponentLocator applicationContainer
protected List enterSitemapEventListeners
protected List leaveSitemapEventListeners
protected ServiceManager parentProcessorManager
| Constructor Detail |
public DefaultTreeBuilder()
| Method Detail |
public void contextualize(Context context)
throws ContextException
contextualize in interface ContextualizableContextException
public void service(ServiceManager manager)
throws ServiceException
service in interface ServiceableServiceExceptionprotected String getBuilderConfigURL()
public void setParentProcessorManager(ServiceManager manager)
setParentProcessorManager in interface TreeBuilder
public void setAttribute(String name,
Object value)
TreeBuilder
setAttribute in interface TreeBuilderpublic Object getAttribute(String name)
TreeBuilder
getAttribute in interface TreeBuilder
protected Context createContext(Configuration tree)
throws Exception
Contextualizable
ProcessingNodeBuilders and ProcessingNodes.
The default here is to simply return the context set in
contextualize(), i.e. the context set by the calling
TreeProcessor.
Subclasses can redefine this method to create a context local to a tree, such as for sitemap's <map:components>.
Exception
protected ClassLoader createClassLoader(Configuration tree)
throws Exception
Exception
protected ServiceManager createServiceManager(ClassLoader classloader,
Context context,
Configuration tree)
throws Exception
Serviceable
ProcessingNodeBuilders and ProcessingNodes.
The default here is to simply return the manager set in
compose(), i.e. the component manager set by the calling
TreeProcessor.
Subclasses can redefine this method to create a service manager local to a tree, such as for sitemap's <map:components>.
Exceptionpublic void setProcessor(ConcreteTreeProcessor processor)
setProcessor in interface TreeBuilderpublic ConcreteTreeProcessor getProcessor()
getProcessor in interface TreeBuilderpublic ServiceManager getBuiltProcessorManager()
getBuiltProcessorManager in interface TreeBuilderpublic ClassLoader getBuiltProcessorClassLoader()
getBuiltProcessorClassLoader in interface TreeBuilderpublic ComponentLocator getComponentLocator()
TreeBuilder
getComponentLocator in interface TreeBuilderTreeBuilder.getComponentLocator()public List getEnterSitemapEventListeners()
TreeBuilderEnterSitemapEvent.
getEnterSitemapEventListeners in interface TreeBuilderTreeBuilder.EventComponents.TreeBuilder.getEnterSitemapEventListeners()public List getLeaveSitemapEventListeners()
TreeBuilderLeaveSitemapEvent.
getLeaveSitemapEventListeners in interface TreeBuilderTreeBuilder.EventComponents.TreeBuilder.getLeaveSitemapEventListeners()
public boolean registerNode(String name,
ProcessingNode node)
TreeBuilderProcessingNode under a given name.
For example, ResourceNodeBuilder stores here the ProcessingNodes
it produces for use by sitemap pipelines. This allows to turn the tree into a graph.
If a node with the name is already registed, the process fails!
registerNode in interface TreeBuildertrue is returned; otherwise false.TreeBuilder.registerNode(java.lang.String, org.apache.cocoon.components.treeprocessor.ProcessingNode)public ProcessingNode getRegisteredNode(String name)
getRegisteredNode in interface TreeBuilder
public ProcessingNodeBuilder createNodeBuilder(Configuration config)
throws Exception
createNodeBuilder in interface TreeBuilderException
protected ProcessingNode createTree(Configuration tree)
throws Exception
Exception
protected void linkNodes()
throws Exception
linkNode() on all
LinkedProcessingNodeBuilders.
Can be overriden by subclasses to perform pre/post resolution operations.
Exceptionpublic String getNamespace()
getNamespace in interface TreeBuilder
public ProcessingNode build(Configuration tree)
throws Exception
Configuration.
build in interface TreeBuilderExceptionpublic List getDisposableNodes()
ProcessingNodes part of this tree that are
Disposable. Care should be taken to properly dispose them before
trashing the processing tree.
getDisposableNodes in interface TreeBuilder
public ProcessingNode setupNode(ProcessingNode node,
Configuration config)
throws Exception
ProcessingNode by setting its location, calling all
the lifecycle interfaces it implements and giving it the parameter map if
it's a ParameterizableNode.
As a convenience, the node is returned by this method to allow constructs
like return treeBuilder.setupNode(new MyNode(), config).
setupNode in interface TreeBuilderExceptionprotected LocationImpl getLocation(Configuration config)
protected Map getParameters(Configuration config,
Location location)
throws ConfigurationException
Map of ListOfMapResolvers,
that can be turned into parameters using ListOfMapResolver.buildParameters().
null if there are no parameters.
ConfigurationException
public String getTypeForStatement(Configuration statement,
String role)
throws ConfigurationException
getTypeForStatement in interface TreeBuilderstatement - the statementrole - the component's role (warn: not the selector's role)
ConfigurationException - if the type could not be found.
protected VariableResolver resolve(String expression)
throws PatternException
PatternExceptionpublic void recycle()
recycle in interface Recyclablepublic void dispose()
dispose in interface Disposable
|
|||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||||