org.qi4j.api.property

## Class PropertyWrapper

- java.lang.Object
- - org.qi4j.api.property.PropertyWrapper

- All Implemented Interfaces:
    Property<Object>

      public class PropertyWrapper
      extends Object
      implements Property<Object>

  If you want to catch getting and setting properties, then create a GenericConcern that wraps the Zest-supplied Property instance with PropertyWrappers. Override get() and/or set() to perform your custom code.

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected Property<Object>` | `next`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `PropertyWrapper(Property<Object> next)`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `boolean` | `equals(Object obj)`
    `Object` | `get()` Get the value of the property.
    `int` | `hashCode()`
    `Property<Object>` | `next()`
    `void` | `set(Object newValue)` Set the value of the property
    `String` | `toString()`

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

      `clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

- - ### Field Detail

    - #### next

          protected Property<Object> next

  - ### Constructor Detail

    - #### PropertyWrapper

          public PropertyWrapper(Property<Object> next)

  - ### Method Detail

    - #### next

          public Property<Object> next()

    - #### get

          public Object get()

      Description copied from interface: `Property`
      Get the value of the property.
      Specified by:
        `get` in interface `Property<Object>`
      Returns:
        the value

    - #### set

          public void set(Object newValue)
                   throws IllegalArgumentException,
                          IllegalStateException

      Description copied from interface: `Property`
      Set the value of the property
      Specified by:
        `set` in interface `Property<Object>`
      Parameters:
        `newValue` - the new value
      Throws:
        `IllegalArgumentException` - if the value has an invalid value
        `IllegalStateException` - if the property is immutable

    - #### hashCode

          public int hashCode()

      Overrides:
        `hashCode` in class `Object`

    - #### equals

          public boolean equals(Object obj)

      Overrides:
        `equals` in class `Object`

    - #### toString

          public String toString()

      Overrides:
        `toString` in class `Object`