Package: grails.beans.util

## [Java] Class LazyMetaPropertyMap

- grails.beans.util.LazyMetaPropertyMap

- All Implemented Interfaces and Traits:
    java.util.Map

      @java.lang.SuppressWarnings({"unchecked","rawtypes"})
      @groovy.transform.CompileStatic
      public class LazyMetaPropertyMap
      extends java.lang.Object

  A map implementation that reads an objects properties lazily using Groovy's MetaClass.

  Authors:
    Graeme Rocher

- - ### Constructor Summary

    Constructors
    Constructor and description
    `LazyMetaPropertyMap (java.lang.Object o)` Constructs the map

  - ### Methods Summary

    Methods
    Type Params | Return Type | Name and description
    --- | --- | ---
    `` | `void` | `clear()` @throws UnsupportedOperationException
    `` | `boolean` | `containsKey(java.lang.Object propertyName)` {@inheritDoc}
    `` | `boolean` | `containsValue(java.lang.Object o)` Checks whether the specified value is contained within the Map.
    `` | `java.util.Set<groovy.util.MapEntry>` | `entrySet()`
    `` | `boolean` | `equals(java.lang.Object o)`
    `` | `java.lang.Object` | `get(java.lang.Object propertyName)` Obtains the value of an object's properties on demand using Groovy's MOP.
    `` | `java.lang.Object` | `getInstance()` Returns the wrapped instance.
    `` | `int` | `hashCode()`
    `` | `boolean` | `isEmpty()` {@inheritDoc}
    `` | `java.util.Set<java.lang.String>` | `keySet()`
    `` | `java.lang.Object` | `put(java.lang.Object propertyName, java.lang.Object propertyValue)`
    `` | `void` | `putAll(java.util.Map map)`
    `` | `java.lang.Object` | `remove(java.lang.Object o)` @throws UnsupportedOperationException
    `` | `int` | `size()` {@inheritDoc}
    `` | `java.util.Collection<java.lang.Object>` | `values()`

  - ### 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()`

- - ### Constructor Detail

    - #### public LazyMetaPropertyMap(java.lang.Object o)

      Constructs the map

      Parameters:
        `o` - The object to inspect

  - ### Method Detail

    - #### public void clear()

      throws:
        UnsupportedOperationException

    - #### public boolean containsKey(java.lang.Object propertyName)

      {@inheritDoc}

      See Also:
        java.util.Map#containsKey(java.lang.Object)

    - #### public boolean containsValue(java.lang.Object o)

      Checks whether the specified value is contained within the Map. Note that because this implementation lazily initialises property values the behaviour may not be consistent with the actual values of the contained object unless they have already been initialised by calling get(Object)

      See Also:
        java.util.Map#containsValue(Object)

    - #### public java.util.Set<groovy.util.MapEntry> entrySet()

    - #### @java.lang.Override public boolean equals(java.lang.Object o)

    - #### public java.lang.Object get(java.lang.Object propertyName)

      Obtains the value of an object's properties on demand using Groovy's MOP.

      Parameters:
        `propertyName` - The name of the property
      Returns:
        The property value or null

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

      Returns the wrapped instance.

      Returns:
        The wrapped instance

    - #### @java.lang.Override public int hashCode()

    - #### public boolean isEmpty()

      {@inheritDoc}

      See Also:
        java.util.Map#isEmpty()

    - #### public java.util.Set<java.lang.String> keySet()

    - #### public java.lang.Object put(java.lang.Object propertyName, java.lang.Object propertyValue)

    - #### public void putAll(java.util.Map map)

    - #### public java.lang.Object remove(java.lang.Object o)

      throws:
        UnsupportedOperationException

    - #### public int size()

      {@inheritDoc}

      See Also:
        java.util.Map#size()

    - #### public java.util.Collection<java.lang.Object> values()