We should be able to ensure that a custom IndexAccessor can provide support for a Collection target type by separating our built-in List and Collection support and applying the built-in Collection support after custom index accessors have been applied, analogous to what we did in #32706. The built-in List support should still be applied before custom index accessors and therefore remain unchanged.
Overview
Due to the current implementation of SpEL's
Indexer
, anIndexAccessor
cannot provide custom support for aCollection
target type.The reason is that
Indexer
owns theCollection
target type.https://github.com/spring-projects/spring-framework/blob/a3afe51c9fa7d0f9fe3e59b84219f6ab3eb9e986/spring-expression/src/main/java/org/springframework/expression/spel/ast/Indexer.java#L234-L241
We should be able to ensure that a custom
IndexAccessor
can provide support for aCollection
target type by separating our built-inList
andCollection
support and applying the built-inCollection
support after custom index accessors have been applied, analogous to what we did in #32706. The built-inList
support should still be applied before custom index accessors and therefore remain unchanged.Related Issues
26478
32706