org.springframework.data.mapping.model

## Class InstantiationAwarePropertyAccessorFactory

- java.lang.Object
- - org.springframework.data.mapping.model.InstantiationAwarePropertyAccessorFactory

All Implemented Interfaces:
  PersistentPropertyAccessorFactory

    public class InstantiationAwarePropertyAccessorFactory
    extends Object
    implements PersistentPropertyAccessorFactory

Delegating `PersistentPropertyAccessorFactory` decorating the `PersistentPropertyAccessor`s created with an `InstantiationAwarePropertyAccessor` to allow the handling of purely immutable types.

Since:
  2.3
Author:
  Oliver Drotbohm, Mark Paluch

### Constructor Summary

Constructors
Constructor and Description
`InstantiationAwarePropertyAccessorFactory(PersistentPropertyAccessorFactory delegate, EntityInstantiators instantiators)`

### Method Summary

All Methods Instance Methods Concrete Methods
`<T> PersistentPropertyAccessor<T>` `getPropertyAccessor(PersistentEntity<?,?> entity, T bean)` Returns a `PersistentPropertyAccessor` for a given `PersistentEntity` and `bean`.
`boolean` `isSupported(PersistentEntity<?,?> entity)` Returns whether given `PersistentEntity` is supported by this `PersistentPropertyAccessorFactory`.

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

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Constructor Detail

#### InstantiationAwarePropertyAccessorFactory

    public InstantiationAwarePropertyAccessorFactory(PersistentPropertyAccessorFactory delegate,
                                                     EntityInstantiators instantiators)

### Method Detail

#### getPropertyAccessor

    public <T> PersistentPropertyAccessor<T> getPropertyAccessor(PersistentEntity<?,?> entity,
                                                                 T bean)

Description copied from interface: `PersistentPropertyAccessorFactory`
Returns a `PersistentPropertyAccessor` for a given `PersistentEntity` and `bean`.

Specified by:
  `getPropertyAccessor` in interface `PersistentPropertyAccessorFactory`
Parameters:
  `entity` - must not be null.
  `bean` - must not be null.
Returns:
  will never be null.

#### isSupported

    public boolean isSupported(PersistentEntity<?,?> entity)

Description copied from interface: `PersistentPropertyAccessorFactory`
Returns whether given `PersistentEntity` is supported by this `PersistentPropertyAccessorFactory`.

Specified by:
  `isSupported` in interface `PersistentPropertyAccessorFactory`
Parameters:
  `entity` - must not be null.
Returns: