public class ListELResolver extends ELResolver
List
SE のインスタンスのプロパティ解決動作を定義します。 このリゾルバーは、型 java.util.List
の基本オブジェクトを処理します。プロパティとして任意のオブジェクトを受け入れ、そのオブジェクトを整数インデックスからリストに強制変換します。結果の値は、そのインデックスにあるリストの値です。
このリゾルバーは読み取り専用モードで構築できます。つまり、isReadOnly
は常に true
を返し、setValue(javax.el.ELContext, java.lang.Object, java.lang.Object, java.lang.Object)
は常に PropertyNotWritableException
をスローします。
ELResolver
は CompositeELResolver
を使用して組み合わされ、式を評価するための豊富なセマンティクスを定義します。詳細については、ELResolver
の javadoc を参照してください。
CompositeELResolver
, ELResolver
, List
SERESOLVABLE_AT_DESIGN_TIME, TYPE
コンストラクターと説明 |
---|
ListELResolver() 新しい読み取り / 書き込み ListELResolver を作成します。 |
ListELResolver(boolean isReadOnly) 指定されたパラメーターによって読み取り専用ステータスが決定される新しい ListELResolver を作成します。 |
修飾子と型 | メソッドと説明 |
---|---|
ClassSE<?> | getCommonPropertyType(ELContext context, ObjectSE base) 基本オブジェクトがリストの場合、このリゾルバーが property 引数として受け入れる最も一般的な型を返します。 |
IteratorSE<FeatureDescriptorSE> | getFeatureDescriptors(ELContext context, ObjectSE base) すべての整数のセットセットを反復処理する理由がないため、常に null を返します。 |
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(javax.el.ELContext, java.lang.Object, java.lang.Object, java.lang.Object) の呼び出しが常に失敗するかどうかを返します。 |
void | setValue(ELContext context, ObjectSE base, ObjectSE property, ObjectSE val) 基本オブジェクトがリストの場合、指定された値で指定されたインデックスに値を設定しようとします。 |
convertToType, invoke
cloneSE, equalsSE, finalizeSE, getClassSE, hashCodeSE, notifySE, notifyAllSE, toStringSE, waitSE, waitSE, waitSE
public ListELResolver()
ListELResolver
を作成します。public ListELResolver(boolean isReadOnly)
ListELResolver
を作成します。isReadOnly
- このリゾルバーがリストを変更できない場合は true
。それ以外の場合は false
。public ClassSE<?> getType(ELContext context, ObjectSE base, ObjectSE property)
ベースが List
の場合、戻る前に、このリゾルバーによって ELContext
オブジェクトの propertyResolved
プロパティを true
に設定する必要があります。このメソッドが呼び出された後、このプロパティが true
でない場合、呼び出し元は戻り値を無視する必要があります。
ベースが List
であると仮定すると、このメソッドは常に Object.class
を返します。これは、List
が任意のオブジェクトを要素として受け入れるためです。
ELResolver
の getType
context
- この評価のコンテキスト。base
- 分析するリスト。型 List
のベースのみがこのリゾルバーによって処理されます。property
- 受け入れ可能な型を返すリスト内の要素のインデックス。整数に強制変換されますが、それ以外の場合はこのリゾルバーによって無視されます。ELContext
の propertyResolved
プロパティが true
に設定されている場合、最も一般的な受け入れ可能な型。それ以外は未定義。PropertyNotFoundException
- 指定されたインデックスがこのリストの範囲外の場合。NullPointerExceptionSE
- コンテキストが null
の場合 ELException
- プロパティまたは変数の解決の実行中に例外がスローされた場合。スローされた例外は、可能であれば、この例外の原因プロパティとして含める必要があります。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
- プロパティまたは変数の解決の実行中に例外がスローされた場合。スローされた例外は、可能であれば、この例外の原因プロパティとして含める必要があります。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
- プロパティまたは変数の解決の実行中に例外がスローされた場合。スローされた例外は、可能であれば、この例外の原因プロパティとして含める必要があります。public boolean isReadOnly(ELContext context, ObjectSE base, ObjectSE property)
setValue(javax.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
- プロパティまたは変数の解決の実行中に例外がスローされた場合。スローされた例外は、可能であれば、この例外の原因プロパティとして含める必要があります。public IteratorSE<FeatureDescriptorSE> getFeatureDescriptors(ELContext context, ObjectSE base)
null
を返します。getCommonPropertyType(javax.el.ELContext, java.lang.Object)
メソッドは、このリゾルバーが受け入れるプロパティに関する十分な情報を返します。
ELResolver
の getFeatureDescriptors
context
- この評価のコンテキスト。base
- リスト。型 List
のベースのみがこのリゾルバーによって処理されます。null
.FeatureDescriptor
SEpublic ClassSE<?> getCommonPropertyType(ELContext context, ObjectSE base)
property
引数として受け入れる最も一般的な型を返します。それ以外の場合は、null
を返します。 ベースが List
であると仮定すると、このメソッドは常に Integer.class
を返します。これは、List
が整数をインデックスとして受け入れるためです。
ELResolver
の getCommonPropertyType
context
- この評価のコンテキスト。base
- 分析するリスト。型 List
のベースのみがこのリゾルバーによって処理されます。List
でない場合は null
。それ以外の場合は Integer.class
。Copyright © 2019 Eclipse Foundation.
Use is subject to license terms.