Package org.apache.velocity.example
Class DBContext
- java.lang.Object
-
- org.apache.velocity.context.AbstractContext
-
- org.apache.velocity.example.DBContext
-
- All Implemented Interfaces:
Context
,InternalEventContext
public class DBContext extends AbstractContext
Example context impl that uses a database to store stuff :) yes, this is silly expects a mysql db test with table CREATE TABLE contextstore ( k varchar(100), val blob ); very fragile, crappy code.... just a demo!- Version:
- $Id$
- Author:
- Geir Magnusson Jr.
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description EventCartridge
attachEventCartridge(EventCartridge ec)
int
getCurrentMacroCallDepth()
get the current macro call depthString
getCurrentMacroName()
get the current macro nameResource
getCurrentResource()
String
getCurrentTemplateName()
get the current template nameEventCartridge
getEventCartridge()
List<Template>
getMacroLibraries()
String[]
getMacroNameStack()
get the current macro name stackString[]
getTemplateNameStack()
get the current template name stackIntrospectionCacheData
icacheGet(Object key)
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 keyboolean
internalContainsKey(String key)
Not implementing.Object
internalGet(String key)
retrieves a serialized object from the db and returns the living instance to the caller.String[]
internalGetKeys()
Not implementing.Object
internalPut(String key, Object value)
Serializes and stores an object in the database.Object
internalRemove(String key)
Not implementing.void
popCurrentMacroName()
remove the current macro name from stackvoid
popCurrentTemplateName()
remove the current template name from stackvoid
pushCurrentMacroName(String s)
set the current macro name on top of stackvoid
pushCurrentTemplateName(String s)
set the current template name on top of stackvoid
setCurrentResource(Resource r)
void
setMacroLibraries(List<Template> macroLibraries)
-
Methods inherited from class org.apache.velocity.context.AbstractContext
containsKey, get, getChainedContext, getKeys, put, remove
-
-
-
-
Constructor Detail
-
DBContext
public DBContext()
-
DBContext
public DBContext(Context inner)
-
-
Method Detail
-
internalGet
public Object internalGet(String key)
retrieves a serialized object from the db and returns the living instance to the caller.- Specified by:
internalGet
in classAbstractContext
- Parameters:
key
- key whose associated value is to be returned- Returns:
- object stored in the context
-
internalPut
public Object internalPut(String key, Object value)
Serializes and stores an object in the database. This is really a hokey way to do it, and will cause problems. The right way is to use a prepared statement...- Specified by:
internalPut
in classAbstractContext
- Parameters:
key
- key with which to associate the valuevalue
- value to be associated with the key- Returns:
- previously stored value if exists, or null
-
internalContainsKey
public boolean internalContainsKey(String key)
Not implementing. Not required for Velocity core operation, so not bothering. As we say above : "very fragile, crappy code..."- Specified by:
internalContainsKey
in classAbstractContext
- Parameters:
key
- key to test for existence- Returns:
- true if found, false if not
-
internalGetKeys
public String[] internalGetKeys()
Not implementing. Not required for Velocity core operation, so not bothering. As we say above : "very fragile, crappy code..."- Specified by:
internalGetKeys
in classAbstractContext
- Returns:
- array of keys
-
internalRemove
public Object internalRemove(String key)
Not implementing. Not required for Velocity core operation, so not bothering. As we say above : "very fragile, crappy code..."- Specified by:
internalRemove
in classAbstractContext
- Parameters:
key
- key to remove- Returns:
- object removed if exists, else null
-
pushCurrentTemplateName
public void pushCurrentTemplateName(String s)
set the current template name on top of stack- Parameters:
s
- current template name
-
popCurrentTemplateName
public void popCurrentTemplateName()
remove the current template name from stack
-
getCurrentTemplateName
public String getCurrentTemplateName()
get the current template name- Returns:
- String current template name
-
getTemplateNameStack
public String[] getTemplateNameStack()
get the current template name stack- Returns:
- String[] with the template name stack contents.
-
pushCurrentMacroName
public void pushCurrentMacroName(String s)
set the current macro name on top of stack- Parameters:
s
- current macro name
-
popCurrentMacroName
public void popCurrentMacroName()
remove the current macro name from stack
-
getCurrentMacroName
public String getCurrentMacroName()
get the current macro name- Returns:
- String current macro name
-
getCurrentMacroCallDepth
public int getCurrentMacroCallDepth()
get the current macro call depth- Returns:
- int current macro call depth
-
getMacroNameStack
public String[] getMacroNameStack()
get the current macro name stack- Returns:
- String[] with the macro name stack contents.
-
icacheGet
public IntrospectionCacheData icacheGet(Object key)
returns an IntrospectionCache Data (@see IntrospectionCacheData) object if exists for the key- Parameters:
key
- key to find in cache- Returns:
- cache object
-
icachePut
public void icachePut(Object key, IntrospectionCacheData o)
places an IntrospectionCache Data (@see IntrospectionCacheData) element in the cache for specified key- Parameters:
key
- keyo
- IntrospectionCacheData object to place in cache
-
setCurrentResource
public void setCurrentResource(Resource r)
- See Also:
InternalHousekeepingContext.setCurrentResource(org.apache.velocity.runtime.resource.Resource)
-
getCurrentResource
public Resource getCurrentResource()
- See Also:
InternalHousekeepingContext.getCurrentResource()
-
setMacroLibraries
public void setMacroLibraries(List<Template> macroLibraries)
- See Also:
InternalHousekeepingContext.setMacroLibraries(List)
-
getMacroLibraries
public List<Template> getMacroLibraries()
- See Also:
InternalHousekeepingContext.getMacroLibraries()
-
attachEventCartridge
public EventCartridge attachEventCartridge(EventCartridge ec)
- Specified by:
attachEventCartridge
in interfaceInternalEventContext
- Returns:
- The old EventCartridge.
- See Also:
InternalEventContext.attachEventCartridge(org.apache.velocity.app.event.EventCartridge)
-
getEventCartridge
public EventCartridge getEventCartridge()
- Specified by:
getEventCartridge
in interfaceInternalEventContext
- Returns:
- The current EventCartridge.
- See Also:
InternalEventContext.getEventCartridge()
-
-