org.apache.velocity.runtime.directive
Class Foreach.NullHolderContext

java.lang.Object
  extended byorg.apache.velocity.runtime.directive.Foreach.NullHolderContext
All Implemented Interfaces:
Context, InternalContextAdapter, InternalEventContext, InternalHousekeepingContext, InternalWrapperContext
Enclosing class:
Foreach

protected class Foreach.NullHolderContext
extends java.lang.Object
implements InternalContextAdapter

A special context to use when the foreach iterator returns a null. This is required since the standard context may not support nulls. All puts and gets are passed through, except for the foreach iterator key.


Field Summary
private  boolean active
           
private  InternalContextAdapter innerContext
           
private  java.lang.String loopVariableKey
           
 
Constructor Summary
private Foreach.NullHolderContext(java.lang.String key, InternalContextAdapter context)
          Create the context as a wrapper to be used within the foreach
 
Method Summary
 EventCartridge attachEventCartridge(EventCartridge ec)
           
 boolean containsKey(java.lang.Object key)
          Does the context contain the key
 java.lang.Object get(java.lang.String key)
          Get an object from the context, or null if the key is equal to the loop variable
 boolean getAllowRendering()
          Checks to see if rendering should be allowed.
 InternalContextAdapter getBaseContext()
          returns the base full context impl
 Resource getCurrentResource()
          temporary fix to enable #include() to figure out current encoding.
 java.lang.String getCurrentTemplateName()
          get the current template name
 EventCartridge getEventCartridge()
           
 Context getInternalUserContext()
          returns the wrapped user context
 java.lang.Object[] getKeys()
          Get all the keys for the values in the context
 java.lang.Object[] getTemplateNameStack()
          Returns the template name stack in form of an array.
 IntrospectionCacheData icacheGet(java.lang.Object key)
          returns an IntrospectionCache Data (@see IntrospectionCacheData) object if exists for the key
 void icachePut(java.lang.Object key, IntrospectionCacheData o)
          places an IntrospectionCache Data (@see IntrospectionCacheData) element in the cache for specified key
 void popCurrentTemplateName()
          remove the current template name from stack
 void pushCurrentTemplateName(java.lang.String s)
          set the current template name on top of stack
 java.lang.Object put(java.lang.String key, java.lang.Object value)
          Adds a name/value pair to the context.
 java.lang.Object remove(java.lang.Object key)
          Remove an object from the context
 void setAllowRendering(boolean v)
          Set whether rendering is allowed.
 void setCurrentResource(Resource r)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

innerContext

private InternalContextAdapter innerContext

loopVariableKey

private java.lang.String loopVariableKey

active

private boolean active
Constructor Detail

Foreach.NullHolderContext

private Foreach.NullHolderContext(java.lang.String key,
                                  InternalContextAdapter context)
Create the context as a wrapper to be used within the foreach

Parameters:
key - the reference used in the foreach
context - the parent context
Method Detail

get

public java.lang.Object get(java.lang.String key)
Get an object from the context, or null if the key is equal to the loop variable

Specified by:
get in interface Context
Parameters:
key - The name of the desired value.
Returns:
The value corresponding to the provided key.
See Also:
Context.get(java.lang.String)

put

public java.lang.Object put(java.lang.String key,
                            java.lang.Object value)
Description copied from interface: Context
Adds a name/value pair to the context.

Specified by:
put in interface Context
Parameters:
key - The name to key the provided value with.
value - The corresponding value.
See Also:
Context.put(java.lang.String key, java.lang.Object value)

containsKey

public boolean containsKey(java.lang.Object key)
Does the context contain the key

Specified by:
containsKey in interface Context
Parameters:
key - The key to look for.
Returns:
Whether the key is in the context.
See Also:
Context.containsKey(java.lang.Object key)

getKeys

public java.lang.Object[] getKeys()
Description copied from interface: Context
Get all the keys for the values in the context

Specified by:
getKeys in interface Context
See Also:
Context.getKeys()

remove

public java.lang.Object remove(java.lang.Object key)
Remove an object from the context

Specified by:
remove in interface Context
Parameters:
key - The name of the value to remove.
Returns:
The value that the key was mapped to, or null if unmapped.
See Also:
Context.remove(java.lang.Object key)

pushCurrentTemplateName

public void pushCurrentTemplateName(java.lang.String s)
Description copied from interface: InternalHousekeepingContext
set the current template name on top of stack

Specified by:
pushCurrentTemplateName in interface InternalHousekeepingContext
Parameters:
s - current template name
See Also:
InternalHousekeepingContext.pushCurrentTemplateName(java.lang.String s)

popCurrentTemplateName

public void popCurrentTemplateName()
Description copied from interface: InternalHousekeepingContext
remove the current template name from stack

Specified by:
popCurrentTemplateName in interface InternalHousekeepingContext
See Also:
InternalHousekeepingContext.popCurrentTemplateName()

getCurrentTemplateName

public java.lang.String getCurrentTemplateName()
Description copied from interface: InternalHousekeepingContext
get the current template name

Specified by:
getCurrentTemplateName in interface InternalHousekeepingContext
Returns:
String current template name
See Also:
InternalHousekeepingContext.getCurrentTemplateName()

getTemplateNameStack

public java.lang.Object[] getTemplateNameStack()
Description copied from interface: InternalHousekeepingContext
Returns the template name stack in form of an array.

Specified by:
getTemplateNameStack in interface InternalHousekeepingContext
Returns:
Object[] with the template name stack contents.
See Also:
InternalHousekeepingContext.getTemplateNameStack()

icacheGet

public IntrospectionCacheData icacheGet(java.lang.Object key)
Description copied from interface: InternalHousekeepingContext
returns an IntrospectionCache Data (@see IntrospectionCacheData) object if exists for the key

Specified by:
icacheGet in interface InternalHousekeepingContext
Parameters:
key - key to find in cache
Returns:
cache object
See Also:
InternalHousekeepingContext.icacheGet(java.lang.Object key)

icachePut

public void icachePut(java.lang.Object key,
                      IntrospectionCacheData o)
Description copied from interface: InternalHousekeepingContext
places an IntrospectionCache Data (@see IntrospectionCacheData) element in the cache for specified key

Specified by:
icachePut in interface InternalHousekeepingContext
Parameters:
key - key
o - IntrospectionCacheData object to place in cache
See Also:
InternalHousekeepingContext.icachePut(java.lang.Object key, org.apache.velocity.util.introspection.IntrospectionCacheData o)

setCurrentResource

public void setCurrentResource(Resource r)
Specified by:
setCurrentResource in interface InternalHousekeepingContext
See Also:
InternalHousekeepingContext.setCurrentResource(org.apache.velocity.runtime.resource.Resource r)

getCurrentResource

public Resource getCurrentResource()
Description copied from interface: InternalHousekeepingContext
temporary fix to enable #include() to figure out current encoding.

Specified by:
getCurrentResource in interface InternalHousekeepingContext
See Also:
InternalHousekeepingContext.getCurrentResource()

getBaseContext

public InternalContextAdapter getBaseContext()
Description copied from interface: InternalWrapperContext
returns the base full context impl

Specified by:
getBaseContext in interface InternalWrapperContext
See Also:
InternalWrapperContext.getBaseContext()

getInternalUserContext

public Context getInternalUserContext()
Description copied from interface: InternalWrapperContext
returns the wrapped user context

Specified by:
getInternalUserContext in interface InternalWrapperContext
See Also:
InternalWrapperContext.getInternalUserContext()

attachEventCartridge

public EventCartridge attachEventCartridge(EventCartridge ec)
Specified by:
attachEventCartridge in interface InternalEventContext
See Also:
InternalEventContext.attachEventCartridge(org.apache.velocity.app.event.EventCartridge ec)

getEventCartridge

public EventCartridge getEventCartridge()
Specified by:
getEventCartridge in interface InternalEventContext
See Also:
InternalEventContext.getEventCartridge()

getAllowRendering

public boolean getAllowRendering()
Description copied from interface: InternalHousekeepingContext
Checks to see if rendering should be allowed. Defaults to true but will return false after a #stop directive.

Specified by:
getAllowRendering in interface InternalHousekeepingContext
Returns:
true if rendering is allowed, false if no rendering should occur
See Also:
InternalHousekeepingContext.getAllowRendering()

setAllowRendering

public void setAllowRendering(boolean v)
Description copied from interface: InternalHousekeepingContext
Set whether rendering is allowed. Defaults to true but is set to false after a #stop directive.

Specified by:
setAllowRendering in interface InternalHousekeepingContext
See Also:
InternalHousekeepingContext.setAllowRendering(boolean v)


Copyright ? 2002 Apache Software Foundation. All Rights Reserved.