org.apache.commons.jexl.util.introspection
Class UberspectImpl

java.lang.Object
  |
  +--org.apache.commons.jexl.util.introspection.UberspectImpl
All Implemented Interfaces:
Uberspect, UberspectLoggable

public class UberspectImpl
extends Object
implements Uberspect, UberspectLoggable

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

Since:
1.0
Version:
$Id: UberspectImpl.java 398509 2006-05-01 03:34:35Z dion $

Inner Class Summary
 class UberspectImpl.VelGetterImpl
          {@inheritDoc}
 class UberspectImpl.VelMethodImpl
          An implementation of VelMethod.
 class UberspectImpl.VelSetterImpl
          {@inheritDoc}
 
Constructor Summary
UberspectImpl()
           
 
Method Summary
 Iterator getIterator(Object obj, Info i)
          {@inheritDoc}
 VelMethod getMethod(Object obj, String methodName, Object[] args, Info i)
          {@inheritDoc}
 VelPropertyGet getPropertyGet(Object obj, String identifier, Info i)
          {@inheritDoc}
 VelPropertySet getPropertySet(Object obj, String identifier, Object arg, Info i)
          {@inheritDoc}
 void init()
          init - does nothing - we need to have setRuntimeLogger called before getting our introspector, as the default vel introspector depends upon it.
 void setRuntimeLogger(Log runtimeLogger)
          Sets the runtime logger - this must be called before anything else besides init() as to get the logger.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

UberspectImpl

public UberspectImpl()
Method Detail

init

public void init()
          throws Exception
init - does nothing - we need to have setRuntimeLogger called before getting our introspector, as the default vel introspector depends upon it.
Specified by:
init in interface Uberspect
Throws:
Exception - on any error.

setRuntimeLogger

public void setRuntimeLogger(Log runtimeLogger)
Sets the runtime logger - this must be called before anything else besides init() as to get the logger. Makes the pull model appealing...
Specified by:
setRuntimeLogger in interface UberspectLoggable
Parameters:
runtimeLogger - service to use for logging.

getIterator

public Iterator getIterator(Object obj,
                            Info i)
                     throws Exception
{@inheritDoc}
Specified by:
getIterator in interface Uberspect
Following copied from interface: org.apache.commons.jexl.util.introspection.Uberspect
Parameters:
info - template info.
obj - to get the iterator for.
Returns:
an iterator over obj.
Throws:
Exception - on any error.

getMethod

public VelMethod getMethod(Object obj,
                           String methodName,
                           Object[] args,
                           Info i)
                    throws Exception
{@inheritDoc}
Specified by:
getMethod in interface Uberspect
Following copied from interface: org.apache.commons.jexl.util.introspection.Uberspect
Parameters:
obj - the object
method - the method name
args - method arguments
info - template info
Returns:
a VelMethod.
Throws:
Exception - on any error.

getPropertyGet

public VelPropertyGet getPropertyGet(Object obj,
                                     String identifier,
                                     Info i)
                              throws Exception
{@inheritDoc}
Specified by:
getPropertyGet in interface Uberspect
Following copied from interface: org.apache.commons.jexl.util.introspection.Uberspect
Parameters:
obj - the object to get the property from.
identifier - property name
info - template info
Returns:
a VelPropertyGet.
Throws:
Exception - on any error.

getPropertySet

public VelPropertySet getPropertySet(Object obj,
                                     String identifier,
                                     Object arg,
                                     Info i)
                              throws Exception
{@inheritDoc}
Specified by:
getPropertySet in interface Uberspect
Following copied from interface: org.apache.commons.jexl.util.introspection.Uberspect
Parameters:
obj - the object to get the property from.
identifier - property name
arg - value to set.
info - template info
Returns:
a VelPropertySet.
Throws:
Exception - on any error.


Copyright © 2003-2006 The Apache Software Foundation. All Rights Reserved.