クラス ListELResolver
- java.lang.ObjectSE
-
- jakarta.el.ELResolver
-
- jakarta.el.ListELResolver
public class ListELResolver extends ELResolver
List
SE のインスタンスのプロパティ解決動作を定義します。このリゾルバーは、型
java.util.List
の基本オブジェクトを処理します。プロパティとして任意のオブジェクトを受け入れ、そのオブジェクトを整数インデックスからリストに強制変換します。結果の値は、そのインデックスにあるリストの値です。このリゾルバーは読み取り専用モードで構築できます。つまり、
isReadOnly
は常にtrue
を返し、setValue(jakarta.el.ELContext, java.lang.Object, java.lang.Object, java.lang.Object)
は常にPropertyNotWritableException
をスローします。ELResolver
はCompositeELResolver
を使用して組み合わされ、式を評価するための豊富なセマンティクスを定義します。詳細については、ELResolver
の javadoc を参照してください。- 導入:
- Jakarta Server Pages 2.1
- 関連事項:
CompositeELResolver
,ELResolver
,List
SE
フィールドサマリー
クラス jakarta.el.ELResolver から継承されたフィールド
RESOLVABLE_AT_DESIGN_TIME, TYPE
コンストラクターのサマリー
コンストラクター コンストラクター 説明 ListELResolver()
新しい読み取り / 書き込みListELResolver
を作成します。ListELResolver(boolean isReadOnly)
指定されたパラメーターによって読み取り専用ステータスが決定される新しいListELResolver
を作成します。
メソッドのサマリー
すべてのメソッド インスタンスメソッド 具象メソッド 非推奨のメソッド 修飾子と型 メソッド 説明 ClassSE<?>
getCommonPropertyType(ELContext context, ObjectSE base)
基本オブジェクトがリストの場合、このリゾルバーがproperty
引数として受け入れる最も一般的な型を返します。IteratorSE<FeatureDescriptorSE>
getFeatureDescriptors(ELContext context, ObjectSE base)
非推奨、削除予定: この API 要素は、将来のバージョンで削除される可能性があります。このメソッドは、EL 6.0 では代替なしで削除されますClassSE<?>
getType(ELContext context, ObjectSE base, ObjectSE property)
基本オブジェクトがリストの場合、このリスト内の値の最も一般的に受け入れ可能な型を返します。ObjectSE
getValue(ELContext context, ObjectSE base, ObjectSE property)
基本オブジェクトがリストの場合、指定されたインデックスの値を返します。boolean
isReadOnly(ELContext context, ObjectSE base, ObjectSE property)
基本オブジェクトがリストの場合、setValue(jakarta.el.ELContext, java.lang.Object, java.lang.Object, java.lang.Object)
の呼び出しが常に失敗するかどうかを返します。void
setValue(ELContext context, ObjectSE base, ObjectSE property, ObjectSE val)
基本オブジェクトがリストの場合、指定された値で指定されたインデックスに値を設定しようとします。クラス jakarta.el.ELResolver から継承されたメソッド
convertToType, invoke
メソッドの詳細
getType
public ClassSE<?> getType(ELContext context, ObjectSE base, ObjectSE property)
基本オブジェクトがリストの場合、このリスト内の値の最も一般的に受け入れ可能な型を返します。ベースが
List
の場合、戻る前に、このリゾルバーによってELContext
オブジェクトのpropertyResolved
プロパティをtrue
に設定する必要があります。このメソッドが呼び出された後、このプロパティがtrue
でない場合、呼び出し元は戻り値を無視する必要があります。ベースが
List
であると仮定すると、リゾルバーが読み取り専用モードで構築されていない限り、このメソッドはObject.class
を返します。読み取り専用モードの場合はnull
が返されます。これは、List
が任意のオブジェクトを要素として受け入れるためです。- 次で指定:
- クラス
ELResolver
のgetType
- パラメーター:
context
- この評価のコンテキスト。base
- 分析するリスト。型List
のベースのみがこのリゾルバーによって処理されます。property
- 受け入れ可能な型を返すリスト内の要素のインデックス。整数に強制変換されますが、それ以外の場合はこのリゾルバーによって無視されます。- 戻り値:
ELContext
のpropertyResolved
プロパティがtrue
に設定された場合、プロパティまたはリゾルバーが読み取り専用の場合、最も一般的に受け入れられる型はnull
でなければなりません。それ以外は未定義- 例外:
PropertyNotFoundException
- 指定されたインデックスがこのリストの範囲外の場合。NullPointerExceptionSE
- コンテキストがnull
の場合ELException
- プロパティまたは変数の解決の実行中に例外がスローされた場合。スローされた例外は、可能であれば、この例外の原因プロパティとして含める必要があります。
getValue
public ObjectSE getValue(ELContext context, ObjectSE base, ObjectSE property)
基本オブジェクトがリストの場合、指定されたインデックスの値を返します。インデックスはproperty
引数で指定され、整数に強制変換されます。強制が実行できなかった場合、IllegalArgumentException
がスローされます。インデックスが範囲外の場合、null
が返されます。ベースが
List
の場合、戻る前に、このリゾルバーによってELContext
オブジェクトのpropertyResolved
プロパティをtrue
に設定する必要があります。このメソッドが呼び出された後、このプロパティがtrue
でない場合、呼び出し元は戻り値を無視する必要があります。- 次で指定:
- クラス
ELResolver
のgetValue
- パラメーター:
context
- この評価のコンテキスト。base
- 分析するリスト。型List
のベースのみがこのリゾルバーによって処理されます。property
- 返される値のインデックス。整数に強制変換されます。- 戻り値:
ELContext
のpropertyResolved
プロパティがtrue
に設定されている場合、指定されたインデックスの値、インデックスが範囲外の場合はnull
。それ以外の場合、未定義です。- 例外:
IllegalArgumentExceptionSE
- プロパティを整数に強制変換できない場合。NullPointerExceptionSE
- コンテキストがnull
の場合。ELException
- プロパティまたは変数の解決の実行中に例外がスローされた場合。スローされた例外は、可能であれば、この例外の原因プロパティとして含める必要があります。
setValue
public void setValue(ELContext context, ObjectSE base, ObjectSE property, ObjectSE val)
基本オブジェクトがリストの場合、指定された値で指定されたインデックスに値を設定しようとします。インデックスはproperty
引数で指定され、整数に強制変換されます。強制が実行できなかった場合、IllegalArgumentException
がスローされます。インデックスが範囲外の場合、PropertyNotFoundException
がスローされます。ベースが
List
の場合、戻る前に、このリゾルバーによってELContext
オブジェクトのpropertyResolved
プロパティをtrue
に設定する必要があります。このメソッドが呼び出された後、このプロパティがtrue
でない場合、呼び出し元は値が設定されていないと安全に想定できます。このリゾルバーが読み取り専用モードで作成された場合、このメソッドは常に
PropertyNotWritableException
をスローします。List
がCollections.unmodifiableList(java.util.List<? extends T>)
SE を使用して作成された場合、このメソッドはPropertyNotWritableException
をスローする必要があります。残念ながら、これを検出するコレクション API メソッドはありません。ただし、実装はプロトタイプの変更不可能なList
を作成し、その実行時型をクエリして、回避策としてベースオブジェクトの実行時型と一致するかどうかを確認できます。- 次で指定:
- クラス
ELResolver
のsetValue
- パラメーター:
context
- この評価のコンテキスト。base
- 変更するリスト。型List
のベースのみがこのリゾルバーによって処理されます。property
- 設定する値のインデックス。整数に強制変換されます。val
- 指定されたインデックスに設定される値。- 例外:
ClassCastExceptionSE
- 指定された要素のクラスが原因で、このリストに要素を追加できない場合NullPointerExceptionSE
- コンテキストがnull
の場合、または値がnull
であり、このList
がnull
要素をサポートしていない場合IllegalArgumentExceptionSE
- プロパティを整数に強制変換できなかった場合、または指定された要素のある側面が原因でこのリストに追加できない場合。PropertyNotWritableException
- このリゾルバーが読み取り専用モードで作成された場合、または基になるリストでセット操作がサポートされていない場合。PropertyNotFoundException
- 指定されたインデックスがこのリストの範囲外の場合。ELException
- プロパティまたは変数の解決の実行中に例外がスローされた場合。スローされた例外は、可能であれば、この例外の原因プロパティとして含める必要があります。
isReadOnly
public boolean isReadOnly(ELContext context, ObjectSE base, ObjectSE property)
基本オブジェクトがリストの場合、setValue(jakarta.el.ELContext, java.lang.Object, java.lang.Object, java.lang.Object)
の呼び出しが常に失敗するかどうかを返します。ベースが
List
の場合、戻る前に、このリゾルバーによってELContext
オブジェクトのpropertyResolved
プロパティをtrue
に設定する必要があります。このメソッドが呼び出された後、このプロパティがtrue
でない場合、呼び出し元は戻り値を無視する必要があります。このリゾルバーが読み取り専用モードで作成された場合、このメソッドは常に
true
を返します。List
がCollections.unmodifiableList(java.util.List<? extends T>)
SE を使用して作成された場合、このメソッドはtrue
を返す必要があります。残念ながら、これを検出するコレクション API メソッドはありません。ただし、実装では、プロトタイプの変更不可能なList
を作成し、その実行時型をクエリして、回避策としてベースオブジェクトの実行時型と一致するかどうかを確認できます。- 次で指定:
- クラス
ELResolver
のisReadOnly
- パラメーター:
context
- この評価のコンテキスト。base
- 分析するリスト。型List
のベースのみがこのリゾルバーによって処理されます。property
- 受け入れ可能な型を返すリスト内の要素のインデックス。整数に強制変換されますが、それ以外の場合はこのリゾルバーによって無視されます。- 戻り値:
ELContext
のpropertyResolved
プロパティがtrue
に設定されている場合、setValue
メソッドの呼び出しが常に失敗する場合はtrue
、そのような呼び出しが成功する可能性がある場合はfalse
。それ以外は未定義。- 例外:
PropertyNotFoundException
- 指定されたインデックスがこのリストの範囲外の場合。NullPointerExceptionSE
- コンテキストがnull
の場合ELException
- プロパティまたは変数の解決の実行中に例外がスローされた場合。スローされた例外は、可能であれば、この例外の原因プロパティとして含める必要があります。
getFeatureDescriptors
@DeprecatedSE(forRemoval=true, since="5.0") public IteratorSE<FeatureDescriptorSE> getFeatureDescriptors(ELContext context, ObjectSE base)
非推奨、削除予定: この API 要素は、将来のバージョンで削除される可能性があります。このメソッドは、EL 6.0 では代替なしで削除されますすべての整数のセットセットを反復処理する理由がないため、常にnull
を返します。getCommonPropertyType(jakarta.el.ELContext, java.lang.Object)
メソッドは、このリゾルバーが受け入れるプロパティに関する十分な情報を返します。- オーバーライド:
- クラス
ELResolver
のgetFeatureDescriptors
- パラメーター:
context
- この評価のコンテキスト。base
- リスト。型List
のベースのみがこのリゾルバーによって処理されます。- 戻り値:
null
.- 関連事項:
FeatureDescriptor
SE
getCommonPropertyType
public ClassSE<?> getCommonPropertyType(ELContext context, ObjectSE base)
基本オブジェクトがリストの場合、このリゾルバーがproperty
引数として受け入れる最も一般的な型を返します。それ以外の場合は、null
を返します。ベースが
List
であると仮定すると、このメソッドは常にInteger.class
を返します。これは、List
が整数をインデックスとして受け入れるためです。- 次で指定:
- クラス
ELResolver
のgetCommonPropertyType
- パラメーター:
context
- この評価のコンテキスト。base
- 分析するリスト。型List
のベースのみがこのリゾルバーによって処理されます。- 戻り値:
- ベースが
List
でない場合はnull
。それ以外の場合はInteger.class
。