Package: org.codehaus.groovy.grails.commons

## [Java] Class ClassPropertyFetcher

- org.codehaus.groovy.grails.commons.ClassPropertyFetcher

- Accesses class "properties": static fields, static getters, instance fields or instance getters. Method and Field instances are cached for fast access.

  Authors:
    Lari Hotari, Sagire Software Oy
    Graeme Rocher

- - ### Nested Class Summary

    Nested classes
    Modifiers | Name | Description
    --- | --- | ---
    `static interface` | `ClassPropertyFetcher.ReferenceInstanceCallback` |

  - ### Methods Summary

    Methods
    Type | Name and description
    --- | ---
    `static void` | `clearClassPropertyFetcherCache()`
    `static ClassPropertyFetcher` | `forClass(java.lang.Class<?> c)`
    `static ClassPropertyFetcher` | `forClass(java.lang.Class<?> c, ClassPropertyFetcher.ReferenceInstanceCallback callback)`
    `java.beans.PropertyDescriptor[]` | `getPropertyDescriptors()`
    `java.lang.Class<?>` | `getPropertyType(java.lang.String name)`
    `java.lang.Class<?>` | `getPropertyType(java.lang.String name, boolean onlyInstanceProperties)`
    `java.lang.Object` | `getPropertyValue(java.lang.String name)`
    `java.lang.Object` | `getPropertyValue(java.lang.Object object, java.lang.String name)`
    `java.lang.Object` | `getPropertyValue(java.lang.String name, boolean onlyInstanceProperties)`
    `T` | `getPropertyValue(java.lang.String name, java.lang.Class<T> c)`
    `java.lang.Object` | `getReference()`
    `T` | `getStaticPropertyValue(java.lang.String name, java.lang.Class<T> c)`
    `boolean` | `isReadableProperty(java.lang.String name)`

  - ### Inherited Methods Summary

    Inherited Methods
    Methods inherited from class | Name
    --- | ---
    `class java.lang.Object` | `java.lang.Object#wait(long, int), java.lang.Object#wait(long), java.lang.Object#wait(), java.lang.Object#equals(java.lang.Object), java.lang.Object#toString(), java.lang.Object#hashCode(), java.lang.Object#getClass(), java.lang.Object#notify(), java.lang.Object#notifyAll()`

- - ### Method Detail

    - #### public static void clearClassPropertyFetcherCache()

    - #### public static ClassPropertyFetcher forClass(java.lang.Class<?> c)

    - #### public static ClassPropertyFetcher forClass(java.lang.Class<?> c, ClassPropertyFetcher.ReferenceInstanceCallback callback)

    - #### public java.beans.PropertyDescriptor[] getPropertyDescriptors()

    - #### public java.lang.Class<?> getPropertyType(java.lang.String name)

    - #### public java.lang.Class<?> getPropertyType(java.lang.String name, boolean onlyInstanceProperties)

    - #### public java.lang.Object getPropertyValue(java.lang.String name)

    - #### public java.lang.Object getPropertyValue(java.lang.Object object, java.lang.String name)

    - #### public java.lang.Object getPropertyValue(java.lang.String name, boolean onlyInstanceProperties)

    - #### public T getPropertyValue(java.lang.String name, java.lang.Class<T> c)

    - #### public java.lang.Object getReference()

    - #### public T getStaticPropertyValue(java.lang.String name, java.lang.Class<T> c)

    - #### public boolean isReadableProperty(java.lang.String name)