Package: org.codehaus.groovy.grails.commons.metaclass

## [Java] Class GenericDynamicProperty

- org.codehaus.groovy.grails.commons.metaclass.GenericDynamicProperty

- A generic dyanmic property for any type.

  Authors:
    Graeme Rocher

- - ### Constructor Summary

    Constructors
    Constructor and description
    `GenericDynamicProperty (java.lang.String propertyName, java.lang.Class<?> type, java.lang.Object initialValue, boolean readOnly)` @param propertyName The name of the property
    `GenericDynamicProperty (java.lang.String propertyName, java.lang.Class<?> type, boolean readOnly)` @param propertyName The name of the property
    `GenericDynamicProperty (java.lang.String propertyName, java.lang.Class<?> type, FunctionCallback initialValueGenerator, boolean readOnly)`

  - ### Methods Summary

    Methods
    Type | Name and description
    --- | ---
    `java.lang.Object` | `get(java.lang.Object object)`
    `void` | `set(java.lang.Object object, java.lang.Object newValue)`

  - ### Inherited Methods Summary

    Inherited Methods
    Methods inherited from class | Name
    --- | ---
    `class AbstractDynamicProperty` | `get, getPropertyName, isPropertyMatch, set`
    `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()`

- - ### Constructor Detail

    - #### public GenericDynamicProperty(java.lang.String propertyName, java.lang.Class<?> type, java.lang.Object initialValue, boolean readOnly)

      Parameters:
        `propertyName` - The name of the property
        `type` - The type of the property
        `initialValue` - The initial value of the property
        `readOnly` - True for read-only property

    - #### public GenericDynamicProperty(java.lang.String propertyName, java.lang.Class<?> type, boolean readOnly)

      Parameters:
        `propertyName` - The name of the property
        `type` - The type of the property
        `readOnly` - True for read-only property

    - #### public GenericDynamicProperty(java.lang.String propertyName, java.lang.Class<?> type, FunctionCallback initialValueGenerator, boolean readOnly)

      Variant that allows supply of a lazy-initialization function for the initial value.

      This function is called only on the first access to the property for a given object, unless the function returns null in which case it will be called again if another request is made.

      Parameters:
        `propertyName` - The name of the property
        `type` - The type of the property
        `readOnly` - True for read-only property

  - ### Method Detail

    - #### @java.lang.Override public java.lang.Object get(java.lang.Object object)

    - #### @java.lang.Override public void set(java.lang.Object object, java.lang.Object newValue)