UberspectImpl (Commons JEXL 2.0.1 API)
Keywords: org.apache.commons.jexl2.introspection.UberspectImpl class

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.apache.commons.jexl2.introspection
Class UberspectImpl

    java.lang.Object
      org.apache.commons.jexl2.internal.Introspector
          org.apache.commons.jexl2.introspection.UberspectImpl

All Implemented Interfaces:
  Uberspect

    public class UberspectImpl

extends Introspector
implements Uberspect

Implementation of Uberspect to provide the default introspective functionality of JEXL.

This is the class to derive to customize introspection.

Since:
  1.0
Version:
  $Id: UberspectImpl.java 896952 2010-01-07 18:21:29Z henrib $
Author:
  Geir Magnusson Jr., Henning P. Schmiedehausen

Nested Class Summary
`static class` | `UberspectImpl.FieldPropertyGet` A JexlPropertyGet for public fields.
`static class` | `UberspectImpl.FieldPropertySet` A JexlPropertySet for public fields.

Field Summary
`static java.lang.Object` | `TRY_FAILED` Publicly exposed special failure object returned by tryInvoke.

Fields inherited from class org.apache.commons.jexl2.internal.Introspector
`rlog`

Constructor Summary
`UberspectImpl(org.apache.commons.logging.Log runtimeLogger)` Creates a new UberspectImpl.

Method Summary
`java.lang.reflect.Constructor<?>` | `getConstructor(java.lang.Object ctorHandle, java.lang.Object[] args, JexlInfo info)` Returns a class constructor.
`java.lang.reflect.Field` | `getField(java.lang.Object obj, java.lang.String name, JexlInfo info)` Returns a class field.
`java.util.Iterator<?>` | `getIterator(java.lang.Object obj, JexlInfo info)` Gets an iterator from an object.
`JexlMethod` | `getMethod(java.lang.Object obj, java.lang.String method, java.lang.Object[] args, JexlInfo info)` Returns a JexlMethod.
`JexlPropertyGet` | `getPropertyGet(java.lang.Object obj, java.lang.Object identifier, JexlInfo info)` Property getter.
`JexlPropertySet` | `getPropertySet(java.lang.Object obj, java.lang.Object identifier, java.lang.Object arg, JexlInfo info)` Property setter.

Methods inherited from class org.apache.commons.jexl2.internal.Introspector
`base, getConstructor, getField, getFieldNames, getGetExecutor, getMethod, getMethod, getMethodExecutor, getMethodNames, getSetExecutor, setClassLoader, toInteger, toString`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Methods inherited from interface org.apache.commons.jexl2.introspection.Uberspect
`setClassLoader`

Field Detail

### TRY_FAILED

    public static final java.lang.Object TRY_FAILED

  Publicly exposed special failure object returned by tryInvoke.

Constructor Detail

### UberspectImpl

    public UberspectImpl(org.apache.commons.logging.Log runtimeLogger)

  Creates a new UberspectImpl.

  Parameters:
    `runtimeLogger` - the logger used for all logging needs

Method Detail

### getIterator

    public java.util.Iterator<?> getIterator(java.lang.Object obj,
                                             JexlInfo info)

  Gets an iterator from an object.

  Specified by:
    `getIterator` in interface `Uberspect`
  Parameters:
    `obj` - to get the iterator for
    `info` - contextual information
  Returns:
    an iterator over obj

### getField

    public java.lang.reflect.Field getField(java.lang.Object obj,
                                            java.lang.String name,
                                            JexlInfo info)

  Returns a class field.

  Parameters:
    `obj` - the object
    `name` - the field name
    `info` - debug info
  Returns:
    a `Field`.

### getConstructor

    public java.lang.reflect.Constructor<?> getConstructor(java.lang.Object ctorHandle,
                                                           java.lang.Object[] args,
                                                           JexlInfo info)

  Returns a class constructor.

  Specified by:
    `getConstructor` in interface `Uberspect`
  Parameters:
    `ctorHandle` - a class or class name
    `args` - constructor arguments
    `info` - contextual information
  Returns:
    a `Constructor`

### getMethod

    public JexlMethod getMethod(java.lang.Object obj,
                                java.lang.String method,
                                java.lang.Object[] args,
                                JexlInfo info)

  Returns a JexlMethod.

  Specified by:
    `getMethod` in interface `Uberspect`
  Parameters:
    `obj` - the object
    `method` - the method name
    `args` - method arguments
    `info` - contextual information
  Returns:
    a `JexlMethod`

### getPropertyGet

    public JexlPropertyGet getPropertyGet(java.lang.Object obj,
                                          java.lang.Object identifier,
                                          JexlInfo info)

  Property getter.

  Returns JexlPropertyGet appropos for ${bar.woogie}.

  Specified by:
    `getPropertyGet` in interface `Uberspect`
  Parameters:
    `obj` - the object to get the property from
    `identifier` - property name
    `info` - contextual information
  Returns:
    a `JexlPropertyGet`

### getPropertySet

    public JexlPropertySet getPropertySet(java.lang.Object obj,
                                          java.lang.Object identifier,
                                          java.lang.Object arg,
                                          JexlInfo info)

  Property setter.

  returns JelPropertySet appropos for ${foo.bar = "geir"}

  .

  Specified by:
    `getPropertySet` in interface `Uberspect`
  Parameters:
    `obj` - the object to get the property from.
    `identifier` - property name
    `arg` - value to set
    `info` - contextual information
  Returns:
    a `JexlPropertySet`.

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2001-2010 The Apache Software Foundation. All Rights Reserved.