Package org.apache.velocity
Class VelocityContext
- java.lang.Object
-
- org.apache.velocity.context.InternalContextBase
-
- org.apache.velocity.context.AbstractContext
-
- org.apache.velocity.VelocityContext
-
- All Implemented Interfaces:
java.lang.Cloneable,Context,InternalEventContext,InternalHousekeepingContext
public class VelocityContext extends AbstractContext implements java.lang.Cloneable
General purpose implemention of the application Context interface for general application use. This class should be used in place of the original Context class. This implementation uses a HashMap (@see java.util.HashMap ) for data storage. This context implementation cannot be shared between threads without those threads synchronizing access between them, as the HashMap is not synchronized, nor are some of the fundamentals of AbstractContext. If you need to share a Context between threads with simultaneous access for some reason, please create your own and extend the interface Context- Version:
- $Id: VelocityContext.java 898032 2010-01-11 19:51:03Z nbubna $
- See Also:
Context
-
-
Field Summary
Fields Modifier and Type Field Description private java.util.MapcontextStorage for key/value pairs.private static longserialVersionUIDVersion Id for serializable
-
Constructor Summary
Constructors Constructor Description VelocityContext()Creates a new instance (with no inner context).VelocityContext(java.util.Map context)Creates a new instance with the provided storage (and no inner context).VelocityContext(java.util.Map context, Context innerContext)Initializes internal storage (never tonull), and inner context.VelocityContext(Context innerContext)Chaining constructor, used when you want to wrap a context in another.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.Objectclone()Clones this context object.booleaninternalContainsKey(java.lang.Object key)determines if there is a value for the given keyjava.lang.ObjectinternalGet(java.lang.String key)retrieves value for key from internal storagejava.lang.Object[]internalGetKeys()returns array of keysjava.lang.ObjectinternalPut(java.lang.String key, java.lang.Object value)stores the value for key to internal storagejava.lang.ObjectinternalRemove(java.lang.Object key)remove a key/value pair from the internal storage-
Methods inherited from class org.apache.velocity.context.AbstractContext
containsKey, get, getChainedContext, getKeys, put, remove
-
Methods inherited from class org.apache.velocity.context.InternalContextBase
attachEventCartridge, getCurrentMacroCallDepth, getCurrentMacroName, getCurrentResource, getCurrentTemplateName, getEventCartridge, getMacroLibraries, getMacroNameStack, getTemplateNameStack, icacheGet, icachePut, popCurrentMacroName, popCurrentTemplateName, pushCurrentMacroName, pushCurrentTemplateName, setCurrentResource, setMacroLibraries
-
-
-
-
Field Detail
-
serialVersionUID
private static final long serialVersionUID
Version Id for serializable- See Also:
- Constant Field Values
-
context
private java.util.Map context
Storage for key/value pairs.
-
-
Constructor Detail
-
VelocityContext
public VelocityContext()
Creates a new instance (with no inner context).
-
VelocityContext
public VelocityContext(java.util.Map context)
Creates a new instance with the provided storage (and no inner context).- Parameters:
context-
-
VelocityContext
public VelocityContext(Context innerContext)
Chaining constructor, used when you want to wrap a context in another. The inner context will be 'read only' - put() calls to the wrapping context will only effect the outermost context- Parameters:
innerContext- TheContextimplementation to wrap.
-
VelocityContext
public VelocityContext(java.util.Map context, Context innerContext)Initializes internal storage (never tonull), and inner context.- Parameters:
context- Internal storage, ornullto create default storage.innerContext- Inner context.
-
-
Method Detail
-
internalGet
public java.lang.Object internalGet(java.lang.String key)
retrieves value for key from internal storage- Specified by:
internalGetin classAbstractContext- Parameters:
key- name of value to get- Returns:
- value as object
-
internalPut
public java.lang.Object internalPut(java.lang.String key, java.lang.Object value)stores the value for key to internal storage- Specified by:
internalPutin classAbstractContext- Parameters:
key- name of value to storevalue- value to store- Returns:
- previous value of key as Object
-
internalContainsKey
public boolean internalContainsKey(java.lang.Object key)
determines if there is a value for the given key- Specified by:
internalContainsKeyin classAbstractContext- Parameters:
key- name of value to check- Returns:
- true if non-null value in store
-
internalGetKeys
public java.lang.Object[] internalGetKeys()
returns array of keys- Specified by:
internalGetKeysin classAbstractContext- Returns:
- keys as []
-
internalRemove
public java.lang.Object internalRemove(java.lang.Object key)
remove a key/value pair from the internal storage- Specified by:
internalRemovein classAbstractContext- Parameters:
key- name of value to remove- Returns:
- value removed
-
clone
public java.lang.Object clone()
Clones this context object.- Overrides:
clonein classjava.lang.Object- Returns:
- A deep copy of this
Context.
-
-