org.apache.commons.jexl.util.introspection

## Interface Uberspect

All Known Implementing Classes:
  UberspectImpl

    public interface Uberspect

'Federated' introspection/reflection interface to allow the introspection behavior in Velocity to be customized.

Version:
  $Id: Uberspect.java 584046 2007-10-12 05:14:37Z proyal $
Author:
  Geir Magusson Jr.

### Method Summary

Methods
`java.util.Iterator` `getIterator(java.lang.Object obj, Info info)` To support iteratives - #foreach()
`VelMethod` `getMethod(java.lang.Object obj, java.lang.String method, java.lang.Object[] args, Info info)` Returns a general method, corresponding to $foo.bar( $woogie )
`VelPropertyGet` `getPropertyGet(java.lang.Object obj, java.lang.String identifier, Info info)` Property getter - returns VelPropertyGet appropos for #set($foo = $bar.woogie)
`VelPropertySet` `getPropertySet(java.lang.Object obj, java.lang.String identifier, java.lang.Object arg, Info info)` Property setter - returns VelPropertySet appropos for #set($foo.bar = "geir")
`void` `init()` Initializer - will be called before use

### Method Detail

#### init

    void init()
              throws java.lang.Exception

Initializer - will be called before use

Throws:
  `java.lang.Exception`

#### getIterator

    java.util.Iterator getIterator(java.lang.Object obj,
                                 Info info)
                                   throws java.lang.Exception

To support iteratives - #foreach()

Parameters:
  `obj` -
  `info` -
Returns:
  An Iterator.
Throws:
  `java.lang.Exception`

#### getMethod

    VelMethod getMethod(java.lang.Object obj,
                      java.lang.String method,
                      java.lang.Object[] args,
                      Info info)
                        throws java.lang.Exception

Returns a general method, corresponding to $foo.bar( $woogie )

Parameters:
  `obj` -
  `method` -
  `args` -
  `info` -
Returns:
  A Velocity Method.
Throws:
  `java.lang.Exception`

#### getPropertyGet

    VelPropertyGet getPropertyGet(java.lang.Object obj,
                                java.lang.String identifier,
                                Info info)
                                  throws java.lang.Exception

Property getter - returns VelPropertyGet appropos for #set($foo = $bar.woogie)

Parameters:
  `obj` -
  `identifier` -
  `info` -
Returns:
  A Velocity Getter.
Throws:
  `java.lang.Exception`

#### getPropertySet

    VelPropertySet getPropertySet(java.lang.Object obj,
                                java.lang.String identifier,
                                java.lang.Object arg,
                                Info info)
                                  throws java.lang.Exception

Property setter - returns VelPropertySet appropos for #set($foo.bar = "geir")

Parameters:
  `obj` -
  `identifier` -
  `arg` -
  `info` -
Returns:
  A Velocity Setter.
Throws:
  `java.lang.Exception`