org.apache.velocity.context
Class AbstractContext
- Context, Serializable, InternalEventContext, InternalHousekeepingContext
public abstract class AbstractContext
This class is the abstract base class for all conventional
Velocity Context implementations. Simply extend this class
and implement the abstract routines that access your preferred
storage method.
Takes care of context chaining.
Also handles / enforces policy on null keys and values :
- Null keys and values are accepted and basically dropped.
- If you place an object into the context with a null key, it
will be ignored and logged.
- If you try to place a null into the context with any key, it
will be dropped and logged.
The default implementation of this for application use is
org.apache.velocity.VelocityContext.
All thanks to Fedor for the chaining idea.
Version:
- Geir Magnusson Jr.
- Fedor Karpelevitch
- Jason van Zyl
boolean | containsKey(Object key) - Indicates whether the specified key is in the context.
|
Object | get(String key) - Gets the value corresponding to the provided key from the context.
|
Context | getChainedContext() - returns innerContext if one is chained
|
Object[] | getKeys() - Get all the keys for the values in the context
|
boolean | internalContainsKey(Object key) - Implement to determine if a key is in the storage.
|
Object | internalGet(String key) - Implement to return a value from the context storage.
|
Object[] | internalGetKeys() - Implement to return an object array of key
strings from your storage.
|
Object | internalPut(String key, Object value) - Implement to put a value into the context storage.
|
Object | internalRemove(Object key) - I mplement to remove an item from your storage.
|
Object | put(String key, Object value) - Adds a name/value pair to the context.
|
Object | remove(Object key) - Removes the value associated with the specified key from the context.
|
innerContext
private Context innerContext
the chained Context if any
AbstractContext
public AbstractContext()
default CTOR
AbstractContext
public AbstractContext(Context inner)
Chaining constructor accepts a Context argument.
It will relay get() operations into this Context
in the even the 'local' get() returns null.
inner
- context to be chained
containsKey
public boolean containsKey(Object key)
Indicates whether the specified key is in the context. Provided for
debugging purposes.
- containsKey in interface Context
key
- The key to look for.
- true if the key is in the context, false if not.
get
public Object get(String key)
Gets the value corresponding to the provided key from the context.
Supports the chaining context mechanism. If the 'local' context
doesn't have the value, we try to get it from the chained context.
- get in interface Context
key
- The name of the desired value.
- The value corresponding to the provided key or null if
the key param is null.
getChainedContext
public Context getChainedContext()
returns innerContext if one is chained
- Context if chained,
null
if not
getKeys
public Object[] getKeys()
Get all the keys for the values in the context
- getKeys in interface Context
- Object[] of keys in the Context. Does not return
keys in chained context.
internalContainsKey
public boolean internalContainsKey(Object key)
Implement to determine if a key is in the storage.
Currently, this method is not used internally by
the Velocity core.
key
- key to test for existance
- true if found, false if not
internalGet
public Object internalGet(String key)
Implement to return a value from the context storage.
The implementation of this method is required for proper
operation of a Context implementation in general
Velocity use.
key
- key whose associated value is to be returned
- object stored in the context
internalGetKeys
public Object[] internalGetKeys()
Implement to return an object array of key
strings from your storage.
Currently, this method is not used internally by
the Velocity core.
- array of keys
internalPut
public Object internalPut(String key,
Object value)
Implement to put a value into the context storage.
The implementation of this method is required for
proper operation of a Context implementation in
general Velocity use.
key
- key with which to associate the valuevalue
- value to be associated with the key
- previously stored value if exists, or null
internalRemove
public Object internalRemove(Object key)
I mplement to remove an item from your storage.
Currently, this method is not used internally by
the Velocity core.
key
- key to remove
- object removed if exists, else null
put
public Object put(String key,
Object value)
Adds a name/value pair to the context.
- put in interface Context
key
- The name to key the provided value with.value
- The corresponding value.
- Object that was replaced in the the Context if
applicable or null if not.
remove
public Object remove(Object key)
Removes the value associated with the specified key from the context.
- remove in interface Context
key
- The name of the value to remove.
- The value that the key was mapped to, or
null
if unmapped.
Copyright B) 2002 Apache Software Foundation. All Rights Reserved.