Package org.apache.tiles.core.impl
Class BasicTilesContainer
java.lang.Object
org.apache.tiles.core.impl.BasicTilesContainer
- All Implemented Interfaces:
TilesContainer
,AttributeEvaluatorFactoryAware
public class BasicTilesContainer
extends Object
implements TilesContainer, AttributeEvaluatorFactoryAware
Basic implementation of the tiles container interface.
In most cases, this container will be customized by
injecting customized services, not necessarily by
override the container
- Since:
- 2.0
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
endContext
(Request request) Ends a context, where attribute values are stored independently of others.
It must be called after aTilesContainer.startContext(Request)
call.Evaluates the given attribute.Returns the Tiles application context used by this container.getAttributeContext
(Request request) Retrieve the attribute context of the current request.protected AttributeContext
getContext
(Request tilesContext) Get attribute context from request.protected Deque<AttributeContext>
getContextStack
(Request tilesContext) Returns the context stack.getDefinition
(String definitionName, Request request) Returns a definition specifying its name.boolean
isValidDefinition
(String definitionName, Request request) Determine whether the definition exists.protected AttributeContext
popContext
(Request tilesContext) Pops a context object out of the stack.void
Executes a preparer.protected void
pushContext
(AttributeContext context, Request tilesContext) Pushes a context object in the stack.void
Render the given tiles request.void
Render the given Attribute.void
render
(Definition definition, Request request) Renders the specified definition.protected void
render
(Request request, AttributeContext attributeContext) Renders the specified attribute context.void
renderContext
(Request request) Renders the current context, as it is.void
setApplicationContext
(ApplicationContext context) Sets the Tiles application context to use.void
setAttributeEvaluatorFactory
(AttributeEvaluatorFactory attributeEvaluatorFactory) Sets the attribute evaluator factory.void
setDefinitionsFactory
(DefinitionsFactory definitionsFactory) Set the definitions factory.void
setPreparerFactory
(PreparerFactory preparerFactory) Set the preparerInstance factory.void
setRendererFactory
(RendererFactory rendererFactory) Sets the renderer instance factory.startContext
(Request request) Starts a new context, where attribute values are stored independently of others.
When the use of the contexts is finished, callTilesContainer.endContext(Request)
-
Constructor Details
-
BasicTilesContainer
public BasicTilesContainer()
-
-
Method Details
-
startContext
Starts a new context, where attribute values are stored independently of others.
When the use of the contexts is finished, callTilesContainer.endContext(Request)
- Specified by:
startContext
in interfaceTilesContainer
- Parameters:
request
- The request.- Returns:
- The newly created context.
-
endContext
Ends a context, where attribute values are stored independently of others.
It must be called after aTilesContainer.startContext(Request)
call.- Specified by:
endContext
in interfaceTilesContainer
- Parameters:
request
- The request.
-
renderContext
Renders the current context, as it is.- Specified by:
renderContext
in interfaceTilesContainer
- Parameters:
request
- The request.
-
getApplicationContext
Returns the Tiles application context used by this container.- Specified by:
getApplicationContext
in interfaceTilesContainer
- Returns:
- the application context for this container.
-
setApplicationContext
Sets the Tiles application context to use.- Parameters:
context
- The Tiles application context.
-
getAttributeContext
Retrieve the attribute context of the current request.- Specified by:
getAttributeContext
in interfaceTilesContainer
- Parameters:
request
- The request.- Returns:
- map of the attributes in the current attribute context.
-
setDefinitionsFactory
Set the definitions factory. This method first ensures that the container has not yet been initialized.- Parameters:
definitionsFactory
- the definitions factory for this instance.
-
setPreparerFactory
Set the preparerInstance factory. This method first ensures that the container has not yet been initialized.- Parameters:
preparerFactory
- the preparerInstance factory for this conainer.
-
setRendererFactory
Sets the renderer instance factory.- Parameters:
rendererFactory
- the renderer instance factory for this container.- Since:
- 2.1.0
-
setAttributeEvaluatorFactory
Sets the attribute evaluator factory.- Specified by:
setAttributeEvaluatorFactory
in interfaceAttributeEvaluatorFactoryAware
- Parameters:
attributeEvaluatorFactory
- The attribute evaluator factory to use.
-
prepare
Executes a preparer.- Specified by:
prepare
in interfaceTilesContainer
- Parameters:
preparer
- The name of the preparer to execute.request
- The request.
-
render
Render the given tiles request.- Specified by:
render
in interfaceTilesContainer
- Parameters:
definitionName
- the current definition.request
- The request.
-
render
Renders the specified definition.- Specified by:
render
in interfaceTilesContainer
- Parameters:
definition
- The definition to render.request
- The request context.- Since:
- 2.1.3
-
render
Render the given Attribute.- Specified by:
render
in interfaceTilesContainer
- Parameters:
attr
- The attribute to render.request
- The request.- Throws:
IOException
- If something goes wrong during writing to the output.
-
evaluate
Evaluates the given attribute.- Specified by:
evaluate
in interfaceTilesContainer
- Parameters:
attribute
- The attribute to evaluate.request
- The request.- Returns:
- The evaluated object.
-
isValidDefinition
Determine whether the definition exists.- Specified by:
isValidDefinition
in interfaceTilesContainer
- Parameters:
definitionName
- the name of the definition.request
- The request.- Returns:
- true if the definition is found.
-
getDefinition
Returns a definition specifying its name.- Specified by:
getDefinition
in interfaceTilesContainer
- Parameters:
definitionName
- The name of the definition to find.request
- The request context.- Returns:
- The definition, if found.
-
getContextStack
Returns the context stack.- Parameters:
tilesContext
- The Tiles context object to use.- Returns:
- The needed stack of contexts.
- Since:
- 2.0.6
-
pushContext
Pushes a context object in the stack.- Parameters:
context
- The context to push.tilesContext
- The Tiles context object to use.- Since:
- 2.0.6
-
popContext
Pops a context object out of the stack.- Parameters:
tilesContext
- The Tiles context object to use.- Returns:
- The popped context object.
- Since:
- 2.0.6
-
getContext
Get attribute context from request.- Parameters:
tilesContext
- current Tiles application context.- Returns:
- BasicAttributeContext or null if context is not found.
- Since:
- 2.0.6
-
render
Renders the specified attribute context.- Parameters:
request
- The request context.attributeContext
- The context to render.- Throws:
InvalidTemplateException
- If the template is not valid.CannotRenderException
- If something goes wrong during rendering.- Since:
- 2.1.3
-