groovy.inspect

## Class Inspector

- java.lang.Object
- - 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

    Nested Classes
    Modifier and Type | Class and Description
    --- | ---
    `static class` | `Inspector.MemberComparator`

  - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `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

    Constructors
    Constructor and Description
    `Inspector(Object objectUnderInspection)`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `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.
    `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)