groovy.inspect

## Class Inspector

- java.lang.Object
- - groovy.inspect.Inspector

    public class Inspector
    extends java.lang.Object

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

Author:
  Dierk Koenig

### Nested Class Summary

Nested Classes
`static class` `Inspector.MemberComparator`

### Field Summary

Fields
`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 java.lang.String` `GROOVY`
`static java.lang.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 java.lang.String` `NOT_APPLICABLE`
`protected java.lang.Object` `objectUnderInspection`

### Constructor Summary

Constructors
Constructor and Description
`Inspector(java.lang.Object objectUnderInspection)`

### Method Summary

All Methods Static Methods Instance Methods Concrete Methods
`protected java.lang.String[]` `fieldInfo(java.lang.reflect.Field field)`
`protected java.lang.String[]` `fieldInfo(PropertyValue pv)`
`java.lang.String[]` `getClassProps()` Get the Class Properties of the object under inspection.
`protected java.lang.Class` `getClassUnderInspection()`
`java.lang.Object[]` `getMetaMethods()` Get info about instance and class Methods that are dynamically added through Groovy.
`java.lang.Object[]` `getMethods()` Get info about usual Java instance and class Methods as well as Constructors.
`java.lang.Object` `getObject()` Gets the object being inspected.
`java.lang.Object[]` `getPropertyInfo()` Get info about Properties (Java and Groovy alike).
`java.lang.Object[]` `getPublicFields()` Get info about usual Java public fields incl.
`boolean` `isGroovy()`
`protected java.lang.String[]` `methodInfo(java.lang.reflect.Constructor ctor)`
`protected java.lang.String[]` `methodInfo(MetaMethod method)`
`protected java.lang.String[]` `methodInfo(java.lang.reflect.Method method)`
`static void` `print(java.lang.Object[] memberInfo)`
`static java.lang.String` `shortName(java.lang.Class clazz)`
`static java.util.Collection` `sort(java.util.List<java.lang.Object> memberInfo)`
`protected java.lang.String[]` `withoutNulls(java.lang.String[] toNormalize)`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Field Detail

#### objectUnderInspection

    protected java.lang.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 java.lang.String NOT_APPLICABLE

See Also:
  Constant Field Values

#### GROOVY

    public static final java.lang.String GROOVY

See Also:
  Constant Field Values

#### JAVA

    public static final java.lang.String JAVA

See Also:
  Constant Field Values

### Constructor Detail

#### Inspector

    public Inspector(java.lang.Object objectUnderInspection)

Parameters:
  `objectUnderInspection` - must not be null

### Method Detail

#### getClassProps

    public java.lang.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 java.lang.Object getObject()

Gets the object being inspected.

Returns:
  the object

#### getMethods

    public java.lang.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 java.lang.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 java.lang.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 java.lang.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 java.lang.String[] fieldInfo(java.lang.reflect.Field field)

#### fieldInfo

    protected java.lang.String[] fieldInfo(PropertyValue pv)

#### getClassUnderInspection

    protected java.lang.Class getClassUnderInspection()

#### shortName

    public static java.lang.String shortName(java.lang.Class clazz)

#### methodInfo

    protected java.lang.String[] methodInfo(java.lang.reflect.Method method)

#### methodInfo

    protected java.lang.String[] methodInfo(java.lang.reflect.Constructor ctor)

#### methodInfo

    protected java.lang.String[] methodInfo(MetaMethod method)

#### withoutNulls

    protected java.lang.String[] withoutNulls(java.lang.String[] toNormalize)

#### print

    public static void print(java.lang.Object[] memberInfo)

#### sort

    public static java.util.Collection sort(java.util.List<java.lang.Object> memberInfo)