groovy.inspect
Class Inspector

java.lang.Object
  extended by groovy.inspect.Inspector

public class Inspector
extends Object

The Inspector provides a unified access to an object's information that can be determined by introspection.

Author:
Dierk Koenig

Nested Class Summary
static class Inspector.MemberComparator
           
 
Field Summary
static int CLASS_CLASS_IDX
           
static int CLASS_INTERFACE_IDX
           
static int CLASS_OTHER_IDX
           
static int CLASS_PACKAGE_IDX
           
static int CLASS_SUPERCLASS_IDX
           
static String GROOVY
           
static String JAVA
           
static int MEMBER_DECLARER_IDX
           
static int MEMBER_EXCEPTIONS_IDX
           
static int MEMBER_MODIFIER_IDX
           
static int MEMBER_NAME_IDX
           
static int MEMBER_ORIGIN_IDX
           
static int MEMBER_PARAMS_IDX
           
static int MEMBER_TYPE_IDX
           
static int MEMBER_VALUE_IDX
           
static String NOT_APPLICABLE
           
protected  Object objectUnderInspection
           
 
Constructor Summary
Inspector(Object objectUnderInspection)
           
 
Method Summary
protected  String[] fieldInfo(Field field)
           
protected  String[] fieldInfo(PropertyValue pv)
           
 String[] getClassProps()
          Get the Class Properties of the object under inspection.
protected  Class getClassUnderInspection()
           
 Object[] getMetaMethods()
          Get info about instance and class Methods that are dynamically added through Groovy.
 Object[] getMethods()
          Get info about usual Java instance and class Methods as well as Constructors.
 Object getObject()
          Gets the object being inspected.
 Object[] getPropertyInfo()
          Get info about Properties (Java and Groovy alike).
 Object[] getPublicFields()
          Get info about usual Java public fields incl. constants.
 boolean isGroovy()
           
protected  String[] methodInfo(Constructor ctor)
           
protected  String[] methodInfo(MetaMethod method)
           
protected  String[] methodInfo(Method method)
           
static void print(Object[] memberInfo)
           
static String shortName(Class clazz)
           
static Collection sort(List<Object> memberInfo)
           
protected  String[] withoutNulls(String[] toNormalize)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

objectUnderInspection

protected Object objectUnderInspection

CLASS_PACKAGE_IDX

public static final int CLASS_PACKAGE_IDX
See Also:
Constant Field Values

CLASS_CLASS_IDX

public static final int CLASS_CLASS_IDX
See Also:
Constant Field Values

CLASS_INTERFACE_IDX

public static final int CLASS_INTERFACE_IDX
See Also:
Constant Field Values

CLASS_SUPERCLASS_IDX

public static final int CLASS_SUPERCLASS_IDX
See Also:
Constant Field Values

CLASS_OTHER_IDX

public static final int CLASS_OTHER_IDX
See Also:
Constant Field Values

MEMBER_ORIGIN_IDX

public static final int MEMBER_ORIGIN_IDX
See Also:
Constant Field Values

MEMBER_MODIFIER_IDX

public static final int MEMBER_MODIFIER_IDX
See Also:
Constant Field Values

MEMBER_DECLARER_IDX

public static final int MEMBER_DECLARER_IDX
See Also:
Constant Field Values

MEMBER_TYPE_IDX

public static final int MEMBER_TYPE_IDX
See Also:
Constant Field Values

MEMBER_NAME_IDX

public static final int MEMBER_NAME_IDX
See Also:
Constant Field Values

MEMBER_PARAMS_IDX

public static final int MEMBER_PARAMS_IDX
See Also:
Constant Field Values

MEMBER_VALUE_IDX

public static final int MEMBER_VALUE_IDX
See Also:
Constant Field Values

MEMBER_EXCEPTIONS_IDX

public static final int MEMBER_EXCEPTIONS_IDX
See Also:
Constant Field Values

NOT_APPLICABLE

public static final String NOT_APPLICABLE
See Also:
Constant Field Values

GROOVY

public static final String GROOVY
See Also:
Constant Field Values

JAVA

public static final String JAVA
See Also:
Constant Field Values
Constructor Detail

Inspector

public Inspector(Object objectUnderInspection)
Parameters:
objectUnderInspection - must not be null
Method Detail

getClassProps

public String[] getClassProps()
Get the Class Properties of the object under inspection.

Returns:
String array to be indexed by the CLASS_xxx_IDX constants

isGroovy

public boolean isGroovy()

getObject

public Object getObject()
Gets the object being inspected.

Returns:
the object

getMethods

public Object[] getMethods()
Get info about usual Java instance and class Methods as well as Constructors.

Returns:
Array of StringArrays that can be indexed with the MEMBER_xxx_IDX constants

getMetaMethods

public Object[] getMetaMethods()
Get info about instance and class Methods that are dynamically added through Groovy.

Returns:
Array of StringArrays that can be indexed with the MEMBER_xxx_IDX constants

getPublicFields

public Object[] getPublicFields()
Get info about usual Java public fields incl. constants.

Returns:
Array of StringArrays that can be indexed with the MEMBER_xxx_IDX constants

getPropertyInfo

public Object[] getPropertyInfo()
Get info about Properties (Java and Groovy alike).

Returns:
Array of StringArrays that can be indexed with the MEMBER_xxx_IDX constants

fieldInfo

protected String[] fieldInfo(Field field)

fieldInfo

protected String[] fieldInfo(PropertyValue pv)

getClassUnderInspection

protected Class getClassUnderInspection()

shortName

public static String shortName(Class clazz)

methodInfo

protected String[] methodInfo(Method method)

methodInfo

protected String[] methodInfo(Constructor ctor)

methodInfo

protected String[] methodInfo(MetaMethod method)

withoutNulls

protected String[] withoutNulls(String[] toNormalize)

print

public static void print(Object[] memberInfo)

sort

public static Collection sort(List<Object> memberInfo)

Copyright © 2003-2010 The Codehaus. All rights reserved.