Class 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 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