最新の安定バージョンについては、Spring Framework 7.0.2 を使用してください! |
コレクションの射影
射影を使用すると、コレクションによって部分式の評価が実行され、その結果が新しいコレクションになります。射影の構文は .![projectionExpression] です。例: 発明者のリストはあるが、発明者が生まれた都市のリストが必要だとします。事実上、発明者リストのすべてのエントリについて placeOfBirth.city を評価したいと考えます。次の例では、射影を使用してこれを行います。
Java
Kotlin
// evaluates to ["SmilJan", "Idvor"]
List placesOfBirth = parser.parseExpression("members.![placeOfBirth.city]")
.getValue(societyContext, List.class);
// evaluates to ["SmilJan", "Idvor"]
val placesOfBirth = parser.parseExpression("members.![placeOfBirth.city]")
.getValue(societyContext) as List<*>
射影は、配列および java.lang.Iterable または java.util.Map を実装するすべてのものでサポートされています。マップを使用して射影を駆動する場合、射影式はマップ内の各エントリ(Java Map.Entry として表されます)に対して評価されます。マップ全体の射影の結果は、各マップエントリに対する射影式の評価で構成されるリストです。