org.apache.velocity.util.introspection

Class UberspectImpl

Implemented Interfaces:
Uberspect, UberspectLoggable

public class UberspectImpl
extends java.lang.Object
implements Uberspect, UberspectLoggable

Implementation of Uberspect to provide the default introspective functionality of Velocity

Version:
$Id: UberspectImpl.java,v 1.2.4.1 2004/03/03 23:23:08 geirm Exp $

Author:
Geir Magnusson Jr.

Nested Class Summary

class
UberspectImpl.VelGetterImpl
class
UberspectImpl.VelMethodImpl
Implementation of VelMethod
class
UberspectImpl.VelSetterImpl

Field Summary

private static Introspector
introspector
the default Velocity introspector
private RuntimeLogger
rlog
Our runtime logger.

Method Summary

Iterator
getIterator(Object obj, Info i)
To support iteratives - #foreach()
VelMethod
getMethod(Object obj, String methodName, Object[] args, Info i)
Method
VelPropertyGet
getPropertyGet(Object obj, String identifier, Info i)
Property getter
VelPropertySet
getPropertySet(Object obj, String identifier, Object arg, Info i)
Property setter
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(RuntimeLogger runtimeLogger)
Sets the runtime logger - this must be called before anything else besides init() as to get the logger.

Field Details

introspector

private static Introspector introspector
the default Velocity introspector


rlog

private RuntimeLogger rlog
Our runtime logger.

Method Details

getIterator

public Iterator getIterator(Object obj,
                            Info i)
            throws Exception
To support iteratives - #foreach()
Specified by:
getIterator in interface Uberspect


getMethod

public VelMethod getMethod(Object obj,
                           String methodName,
                           Object[] args,
                           Info i)
            throws Exception
Method
Specified by:
getMethod in interface Uberspect


getPropertyGet

public VelPropertyGet getPropertyGet(Object obj,
                                     String identifier,
                                     Info i)
            throws Exception
Property getter
Specified by:
getPropertyGet in interface Uberspect


getPropertySet

public VelPropertySet getPropertySet(Object obj,
                                     String identifier,
                                     Object arg,
                                     Info i)
            throws Exception
Property setter
Specified by:
getPropertySet in interface Uberspect


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


setRuntimeLogger

public void setRuntimeLogger(RuntimeLogger 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


Copyright B) 2002 Apache Software Foundation. All Rights Reserved.