Package org.apache.commons.jexl3

# Class ObjectContext<T>

java.lang.Object
org.apache.commons.jexl3.ObjectContext<T>

Type Parameters:
  `T` - the wrapped object type to use

All Implemented Interfaces:
  `JexlContext`, `JexlContext.NamespaceResolver`

public class ObjectContext<T> extends Object implements JexlContext, JexlContext.NamespaceResolver
Wraps an Object as a JEXL context and NamespaceResolver.

Since:
  3.0

- ## Nested Class Summary

  ## Nested classes/interfaces inherited from interface org.apache.commons.jexl3.JexlContext

  `JexlContext.AnnotationProcessor, JexlContext.CancellationHandle, JexlContext.ClassNameResolver, JexlContext.ModuleProcessor, JexlContext.NamespaceFunctor, JexlContext.NamespaceResolver, JexlContext.OptionsHandle, JexlContext.PragmaProcessor, JexlContext.ThreadLocal`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `ObjectContext(JexlEngine engine, T wrapped)`
  Creates a new ObjectContext.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `Object`
  `get(String name)`
  Gets the value of a variable.
  `protected JexlEngine`
  `getJexl()`
  `protected T`
  `getObject()`
  `boolean`
  `has(String name)`
  Checks whether a variable is defined in this context.
  `Object`
  `resolveNamespace(String name)`
  Resolves a namespace by its name.
  `void`
  `set(String name, Object value)`
  Sets the value of a variable.

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## Constructor Details

  - ### ObjectContext

    public ObjectContext(JexlEngine engine, T wrapped)
    Creates a new ObjectContext.
    Parameters:
      `engine` - the jexl engine to use to solve properties
      `wrapped` - the object to wrap in this context

- ## Method Details

  - ### get

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

  - ### getJexl

    protected JexlEngine getJexl()
    Returns:
      the Jexl engine

  - ### getObject

    protected T getObject()
    Returns:
      the object exposed by this context

  - ### has

    public boolean has(String name)
    Description copied from interface: `JexlContext`
    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 name)
    Description copied from interface: `JexlContext.NamespaceResolver`
    Resolves a namespace by its name.
    Specified by:
      `resolveNamespace` in interface `JexlContext.NamespaceResolver`
    Parameters:
      `name` - the name
    Returns:
      the namespace object

  - ### set

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