Package org.apache.velocity.context
Class ChainedInternalContextAdapter
java.lang.Object
org.apache.velocity.context.ChainedInternalContextAdapter
- All Implemented Interfaces:
Context
,InternalContextAdapter
,InternalEventContext
,InternalHousekeepingContext
,InternalWrapperContext
- Direct Known Subclasses:
EvaluateContext
,Foreach.NullHolderContext
,ProxyVMContext
public abstract class ChainedInternalContextAdapter
extends Object
implements InternalContextAdapter
This is an abstract internal-use-only context implementation to be
used as a subclass for other internal-use-only contexts that wrap
other internal-use-only contexts.
We use this context to make it easier to chain an existing context
as part of a new context implementation. It just delegates everything
to the inner/parent context. Subclasses then only need to override
the methods relevant to them.
- Since:
- 1.6
- Version:
- $Id: ChainedInternalContextAdapter.java 685724 2008-08-13 23:12:12Z nbubna $
-
Field Summary
Fields -
Constructor Summary
ConstructorsConstructorDescriptionCTOR, wraps an ICA -
Method Summary
Modifier and TypeMethodDescriptionboolean
containsKey
(Object key) Indicates whether the specified key is in the context.Retrieves from parent context.Returns the base full context impl.int
get the current macro call depthget the current macro nametemporary fix to enable #include() to figure out current encoding.get the current template nameReturn the inner / user context.Object[]
getKeys()
Get all the keys for the values in the context.Get the macro library list for the current template.Object[]
Returns the macro name stack in form of an array.Object[]
Returns the template name stack in form of an array.returns an IntrospectionCache Data (@see IntrospectionCacheData) object if exists for the keyvoid
icachePut
(Object key, IntrospectionCacheData o) places an IntrospectionCache Data (@see IntrospectionCacheData) element in the cache for specified keyAllows callers to explicitly put objects in the local context.void
remove the current macro name from stackvoid
remove the current template name from stackvoid
set the current macro name on top of stackvoid
set the current template name on top of stackPut method also stores values in parent contextRemoves the value associated with the specified key from the context.void
void
setMacroLibraries
(List macroLibraries) Set the macro library list for the current template.
-
Field Details
-
innerContext
the parent context
-
-
Constructor Details
-
ChainedInternalContextAdapter
CTOR, wraps an ICA- Parameters:
inner
- context
-
-
Method Details
-
getInternalUserContext
Return the inner / user context.- Specified by:
getInternalUserContext
in interfaceInternalWrapperContext
- Returns:
- The inner / user context.
-
getBaseContext
Description copied from interface:InternalWrapperContext
Returns the base full context impl.- Specified by:
getBaseContext
in interfaceInternalWrapperContext
- Returns:
- The base full context impl.
- See Also:
-
get
Retrieves from parent context. -
put
Put method also stores values in parent context -
containsKey
Description copied from interface:Context
Indicates whether the specified key is in the context.- Specified by:
containsKey
in interfaceContext
- Parameters:
key
- The key to look for.- Returns:
- Whether the key is in the context.
- See Also:
-
getKeys
Description copied from interface:Context
Get all the keys for the values in the context. -
remove
Description copied from interface:Context
Removes the value associated with the specified key from the context. -
pushCurrentTemplateName
Description copied from interface:InternalHousekeepingContext
set the current template name on top of stack- Specified by:
pushCurrentTemplateName
in interfaceInternalHousekeepingContext
- Parameters:
s
- current template name- See Also:
-
popCurrentTemplateName
public void popCurrentTemplateName()Description copied from interface:InternalHousekeepingContext
remove the current template name from stack- Specified by:
popCurrentTemplateName
in interfaceInternalHousekeepingContext
- See Also:
-
getCurrentTemplateName
Description copied from interface:InternalHousekeepingContext
get the current template name- Specified by:
getCurrentTemplateName
in interfaceInternalHousekeepingContext
- Returns:
- String current template name
- See Also:
-
getTemplateNameStack
Description copied from interface:InternalHousekeepingContext
Returns the template name stack in form of an array.- Specified by:
getTemplateNameStack
in interfaceInternalHousekeepingContext
- Returns:
- Object[] with the template name stack contents.
- See Also:
-
pushCurrentMacroName
Description copied from interface:InternalHousekeepingContext
set the current macro name on top of stack- Specified by:
pushCurrentMacroName
in interfaceInternalHousekeepingContext
- Parameters:
s
- current macro name- See Also:
-
popCurrentMacroName
public void popCurrentMacroName()Description copied from interface:InternalHousekeepingContext
remove the current macro name from stack- Specified by:
popCurrentMacroName
in interfaceInternalHousekeepingContext
- See Also:
-
getCurrentMacroName
Description copied from interface:InternalHousekeepingContext
get the current macro name- Specified by:
getCurrentMacroName
in interfaceInternalHousekeepingContext
- Returns:
- String current macro name
- See Also:
-
getCurrentMacroCallDepth
public int getCurrentMacroCallDepth()Description copied from interface:InternalHousekeepingContext
get the current macro call depth- Specified by:
getCurrentMacroCallDepth
in interfaceInternalHousekeepingContext
- Returns:
- int current macro call depth
- See Also:
-
getMacroNameStack
Description copied from interface:InternalHousekeepingContext
Returns the macro name stack in form of an array.- Specified by:
getMacroNameStack
in interfaceInternalHousekeepingContext
- Returns:
- Object[] with the macro name stack contents.
- See Also:
-
icacheGet
Description copied from interface:InternalHousekeepingContext
returns an IntrospectionCache Data (@see IntrospectionCacheData) object if exists for the key- Specified by:
icacheGet
in interfaceInternalHousekeepingContext
- Parameters:
key
- key to find in cache- Returns:
- cache object
- See Also:
-
localPut
Description copied from interface:InternalWrapperContext
Allows callers to explicitly put objects in the local context. Objects added to the context through this method always end up in the top-level context of possible wrapped contexts.- Specified by:
localPut
in interfaceInternalWrapperContext
- Parameters:
key
- name of item to set.value
- object to set to key.- Returns:
- old stored object
- See Also:
-
icachePut
Description copied from interface:InternalHousekeepingContext
places an IntrospectionCache Data (@see IntrospectionCacheData) element in the cache for specified key- Specified by:
icachePut
in interfaceInternalHousekeepingContext
- Parameters:
key
- keyo
- IntrospectionCacheData object to place in cache- See Also:
-
setMacroLibraries
Description copied from interface:InternalHousekeepingContext
Set the macro library list for the current template.- Specified by:
setMacroLibraries
in interfaceInternalHousekeepingContext
- Parameters:
macroLibraries
- list of macro libraries to set- See Also:
-
getMacroLibraries
Description copied from interface:InternalHousekeepingContext
Get the macro library list for the current template.- Specified by:
getMacroLibraries
in interfaceInternalHousekeepingContext
- Returns:
- List of macro library names
- See Also:
-
attachEventCartridge
- Specified by:
attachEventCartridge
in interfaceInternalEventContext
- Returns:
- The old EventCartridge.
- See Also:
-
getEventCartridge
- Specified by:
getEventCartridge
in interfaceInternalEventContext
- Returns:
- The current EventCartridge.
- See Also:
-
setCurrentResource
- Specified by:
setCurrentResource
in interfaceInternalHousekeepingContext
- See Also:
-
getCurrentResource
Description copied from interface:InternalHousekeepingContext
temporary fix to enable #include() to figure out current encoding.- Specified by:
getCurrentResource
in interfaceInternalHousekeepingContext
- Returns:
- The current resource.
- See Also:
-