java.lang.Object
java.util.AbstractMap<Object,Object>
org.apache.velocity.runtime.directive.Scope
All Implemented Interfaces:
Map<Object,Object>
Direct Known Subclasses:
ForeachScope

public class Scope extends AbstractMap<Object,Object>
This handles context scoping and metadata for directives.
Version:
$Id$
Author:
Nathan Bubna
  • Field Details

    • owner

      protected final Object owner
  • Constructor Details

    • Scope

      public Scope(Object owner, Object previous)
      Parameters:
      owner -
      previous -
  • Method Details

    • entrySet

      public Set<Map.Entry<Object,Object>> entrySet()
      Specified by:
      entrySet in interface Map<Object,Object>
      Specified by:
      entrySet in class AbstractMap<Object,Object>
      Returns:
      entry set
    • get

      public Object get(Object key)
      getter
      Specified by:
      get in interface Map<Object,Object>
      Overrides:
      get in class AbstractMap<Object,Object>
      Parameters:
      key -
      Returns:
      found value
    • put

      public Object put(Object key, Object value)
      setter
      Specified by:
      put in interface Map<Object,Object>
      Overrides:
      put in class AbstractMap<Object,Object>
      Parameters:
      key -
      value -
      Returns:
      previous value
    • set

      public String set(Object key, Object value)
      Convenience method to call put(key,val) in a template without worrying about what is returned/rendered by the call. This should ALWAYS return an empty string.
      Parameters:
      key -
      value -
      Returns:
      empty string
    • stop

      protected void stop()
      Allows #stop to easily trigger the proper StopCommand for this scope.
    • getDepth

      protected int getDepth()
      Returns the number of control arguments of this type that are stacked up. This is the distance between this instance and the topmost instance, plus one. This value will never be negative or zero.
      Returns:
      depth
    • getTopmost

      public Scope getTopmost()
      Returns the topmost parent control reference, retrieved by simple recursion on getParent().
      Returns:
      top-most scope
    • getParent

      public Scope getParent()
      Returns the parent control reference overridden by the placement of this instance in the context.
      Returns:
      parent scope
    • getReplaced

      public Object getReplaced()
      Returns the user's context reference overridden by the placement of this instance in the context. If there was none (as is hoped), then this will return null. This never returns parent controls; those are returned by getParent().
      Returns:
      replaced reference value, or null
    • getInfo

      public Scope.Info getInfo()
      Returns info about the current scope for debugging purposes.
      Returns:
      template debugging infos