Package org.springframework.expression

# Interface TargetedAccessor

All Known Subinterfaces:
  `CompilableIndexAccessor`, `CompilablePropertyAccessor`, `IndexAccessor`, `PropertyAccessor`

All Known Implementing Classes:
  `DataBindingPropertyAccessor`, `ReflectiveIndexAccessor`, `ReflectivePropertyAccessor`

public interface TargetedAccessor
Strategy for types that access elements of specific target classes.

This interface places no restrictions on what constitutes an element.

A targeted accessor can specify a set of target classes for which it should be called. However, if it returns `null` or an empty array from `getSpecificTargetClasses()`, it will typically be called for all access operations and given a chance to determine if it supports a concrete access attempt.

Targeted accessors are considered to be ordered, and each will be called in turn. The only rule that affects the call order is that any accessor which specifies explicit support for a given target type via `getSpecificTargetClasses()` will be called first, before other generic accessors that do not specify support for explicit target types. In addition, accessors that support the exact target type will be called before accessors that support a supertype of the target type.

Since:
  6.2
Author:
  Sam Brannen
See Also:
  - `PropertyAccessor`
  - `IndexAccessor`

## Method Summary

Modifier and Type
Method
Description
`Class<?>[]`
`getSpecificTargetClasses()`
Get the set of classes for which this accessor should be called.

## Method Details

### getSpecificTargetClasses

@Nullable Class<?>[] getSpecificTargetClasses()
Get the set of classes for which this accessor should be called.

Returning `null` or an empty array indicates this is a generic accessor that can be called in an attempt to access an element on any type.

Returns:
  an array of classes that this accessor is suitable for (or `null` or an empty array if a generic accessor)