Class UnifiedJEXL.TemplateContext

java.lang.Object
edu.internet2.middleware.grouperClientExt.org.apache.commons.jexl2.UnifiedJEXL.TemplateContext
All Implemented Interfaces:
JexlContext, NamespaceResolver
Enclosing class:
UnifiedJEXL

public final class UnifiedJEXL.TemplateContext extends Object implements JexlContext, NamespaceResolver
The type of context to use during evaluation of templates.

This context exposes its writer as '$jexl' to the scripts.

public for introspection purpose.

Since:
2.1
  • Constructor Details

    • TemplateContext

      protected TemplateContext(JexlContext jcontext, JexlEngine.Frame jframe, UnifiedJEXL.Expression[] expressions, Writer out)
      Creates a template context instance.
      Parameters:
      jcontext - the base context
      jframe - the calling frame
      expressions - the list of expression from the template to evaluate
      out - the output writer
  • Method Details

    • getFrame

      public JexlEngine.Frame getFrame()
      Gets this context calling frame.
      Returns:
      the engine frame
    • get

      public Object get(String name)
      Gets the value of a variable.
      Specified by:
      get in interface JexlContext
      Parameters:
      name - the variable's name
      Returns:
      the value
    • set

      public void set(String name, Object value)
      Sets the value of a variable.
      Specified by:
      set in interface JexlContext
      Parameters:
      name - the variable's name
      value - the variable's value
    • has

      public boolean has(String name)
      Checks whether a variable is defined in this context.

      A variable may be defined with a null value; this method checks whether the value is null or if the variable is undefined.

      Specified by:
      has in interface JexlContext
      Parameters:
      name - the variable's name
      Returns:
      true if it exists, false otherwise
    • resolveNamespace

      public Object resolveNamespace(String ns)
      Resolves a namespace by its name.
      Specified by:
      resolveNamespace in interface NamespaceResolver
      Parameters:
      ns - the name
      Returns:
      the namespace object
    • include

      public void include(UnifiedJEXL.Template template, Object... args)
      Includes a call to another template.

      Evaluates a template using this template initial context and writer.

      Parameters:
      template - the template to evaluate
      args - the arguments
    • print

      public void print(int e)
      Prints an expression result.
      Parameters:
      e - the expression number
    • printComposite

      protected void printComposite(edu.internet2.middleware.grouperClientExt.org.apache.commons.jexl2.UnifiedJEXL.CompositeExpression composite)
      Prints a composite expression.
      Parameters:
      composite - the composite expression