Package org.springframework.expression.spel.support

# Class DataBindingPropertyAccessor

java.lang.Object
org.springframework.expression.spel.support.ReflectivePropertyAccessor
org.springframework.expression.spel.support.DataBindingPropertyAccessor

All Implemented Interfaces:
  `PropertyAccessor`, `TargetedAccessor`

public final class DataBindingPropertyAccessor extends ReflectivePropertyAccessor
An `PropertyAccessor` variant for data binding purposes, using reflection to access properties for reading and possibly writing.

A property can be referenced through a public getter method (when being read) or a public setter method (when being written), and also as a public field.

This accessor is explicitly designed for user-declared properties and does not resolve technical properties on `java.lang.Object` or `java.lang.Class`. For unrestricted resolution, choose `ReflectivePropertyAccessor` instead.

Since:
  4.3.15
Author:
  Juergen Hoeller
See Also:
  - `forReadOnlyAccess()`
  - `forReadWriteAccess()`
  - `SimpleEvaluationContext`
  - `StandardEvaluationContext`
  - `ReflectivePropertyAccessor`

## Method Summary

Modifier and Type
Method
Description
`static DataBindingPropertyAccessor`
`forReadOnlyAccess()`
Create a new data-binding property accessor for read-only operations.
`static DataBindingPropertyAccessor`
`forReadWriteAccess()`
Create a new data-binding property accessor for read-write operations.
`protected boolean`
`isCandidateForProperty(Method method, Class<?> targetClass)`
Determine whether the given `Method` is a candidate for property access on an instance of the given target class.

### Methods inherited from class org.springframework.expression.spel.support.ReflectivePropertyAccessor

`canRead, canWrite, createOptimalAccessor, findField, findGetterForProperty, findSetterForProperty, getPropertyMethodSuffix, getPropertyMethodSuffixes, getSpecificTargetClasses, read, write`

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

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

## Method Details

### isCandidateForProperty

protected boolean isCandidateForProperty(Method method, Class<?> targetClass)
Description copied from class: `ReflectivePropertyAccessor`
Determine whether the given `Method` is a candidate for property access on an instance of the given target class.

The default implementation considers any method as a candidate, even for non-user-declared properties on the `Object` base class.

Overrides:
  `isCandidateForProperty` in class `ReflectivePropertyAccessor`
Parameters:
  `method` - the Method to evaluate
  `targetClass` - the concrete target class that is being introspected

### forReadOnlyAccess

public static DataBindingPropertyAccessor forReadOnlyAccess()
Create a new data-binding property accessor for read-only operations.

### forReadWriteAccess

public static DataBindingPropertyAccessor forReadWriteAccess()
Create a new data-binding property accessor for read-write operations.