com.atlassian.confluence.velocity.context
Class ChainedVelocityContext

java.lang.Object
  extended by org.apache.velocity.context.AbstractContext
      extended by org.apache.velocity.VelocityContext
          extended by com.atlassian.confluence.velocity.context.ChainedVelocityContext
All Implemented Interfaces:
Cloneable, org.apache.velocity.context.Context, org.apache.velocity.context.InternalEventContext

public final class ChainedVelocityContext
extends org.apache.velocity.VelocityContext

Replace the chaining provided by AbstractContext because it has broken implementations of containsKey() and getKeys() in Velocity 1.5.

This class works around the broken implementations of containsKey() by checking the result of get() instead.


Constructor Summary
ChainedVelocityContext(org.apache.velocity.context.Context delegate)
          Creates a new chained context using the provided delegate context for secondary lookups.
 
Method Summary
 org.apache.velocity.app.event.EventCartridge attachEventCartridge(org.apache.velocity.app.event.EventCartridge arg0)
           
 boolean getAllowRendering()
           
 int getCurrentMacroCallDepth()
           
 String getCurrentMacroName()
           
 org.apache.velocity.runtime.resource.Resource getCurrentResource()
           
 String getCurrentTemplateName()
           
 org.apache.velocity.app.event.EventCartridge getEventCartridge()
           
 List getMacroLibraries()
           
 Object[] getMacroNameStack()
           
 Object[] getTemplateNameStack()
           
 org.apache.velocity.util.introspection.IntrospectionCacheData icacheGet(Object arg0)
           
 void icachePut(Object arg0, org.apache.velocity.util.introspection.IntrospectionCacheData arg1)
           
 boolean internalContainsKey(Object key)
           
 Object internalGet(String key)
           
 Object[] internalGetKeys()
          This method is inherently unreliable because the implementation of AbstractContext.getKeys() used in other Velocity contexts doesn't delegate correctly.
 void popCurrentMacroName()
           
 void popCurrentTemplateName()
           
 void pushCurrentMacroName(String arg0)
           
 void pushCurrentTemplateName(String arg0)
           
 void setAllowRendering(boolean arg0)
           
 void setCurrentResource(org.apache.velocity.runtime.resource.Resource arg0)
           
 void setMacroLibraries(List arg0)
           
 
Methods inherited from class org.apache.velocity.VelocityContext
clone, internalPut, internalRemove
 
Methods inherited from class org.apache.velocity.context.AbstractContext
containsKey, get, getChainedContext, getKeys, put, remove
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ChainedVelocityContext

public ChainedVelocityContext(org.apache.velocity.context.Context delegate)
Creates a new chained context using the provided delegate context for secondary lookups.

Parameters:
delegate - the delegate context which is checked after this context
Throws:
IllegalArgumentException - if delegate is null
Method Detail

internalGet

public Object internalGet(String key)
Overrides:
internalGet in class org.apache.velocity.VelocityContext

internalContainsKey

public boolean internalContainsKey(Object key)
Overrides:
internalContainsKey in class org.apache.velocity.VelocityContext

internalGetKeys

public Object[] internalGetKeys()
This method is inherently unreliable because the implementation of AbstractContext.getKeys() used in other Velocity contexts doesn't delegate correctly. Because of this, the result may not contains all the keys of the delegate context.

Overrides:
internalGetKeys in class org.apache.velocity.VelocityContext

pushCurrentTemplateName

public void pushCurrentTemplateName(String arg0)

popCurrentTemplateName

public void popCurrentTemplateName()

getCurrentTemplateName

public String getCurrentTemplateName()

getTemplateNameStack

public Object[] getTemplateNameStack()

pushCurrentMacroName

public void pushCurrentMacroName(String arg0)

popCurrentMacroName

public void popCurrentMacroName()

getCurrentMacroName

public String getCurrentMacroName()

getCurrentMacroCallDepth

public int getCurrentMacroCallDepth()

getMacroNameStack

public Object[] getMacroNameStack()

icacheGet

public org.apache.velocity.util.introspection.IntrospectionCacheData icacheGet(Object arg0)

icachePut

public void icachePut(Object arg0,
                      org.apache.velocity.util.introspection.IntrospectionCacheData arg1)

setCurrentResource

public void setCurrentResource(org.apache.velocity.runtime.resource.Resource arg0)

getCurrentResource

public org.apache.velocity.runtime.resource.Resource getCurrentResource()

getAllowRendering

public boolean getAllowRendering()

setAllowRendering

public void setAllowRendering(boolean arg0)

setMacroLibraries

public void setMacroLibraries(List arg0)

getMacroLibraries

public List getMacroLibraries()

attachEventCartridge

public org.apache.velocity.app.event.EventCartridge attachEventCartridge(org.apache.velocity.app.event.EventCartridge arg0)
Specified by:
attachEventCartridge in interface org.apache.velocity.context.InternalEventContext

getEventCartridge

public org.apache.velocity.app.event.EventCartridge getEventCartridge()
Specified by:
getEventCartridge in interface org.apache.velocity.context.InternalEventContext


Copyright © 2003-2010 Atlassian. All Rights Reserved.