クラス ArrayELResolver
- java.lang.ObjectSE
-
- jakarta.el.ELResolver
-
- jakarta.el.ArrayELResolver
public class ArrayELResolver extends ELResolver
配列のプロパティ解決動作を定義します。このリゾルバーは、Java 言語配列である基本オブジェクトを処理します。プロパティとして任意のオブジェクトを受け入れ、そのオブジェクトを配列への整数インデックスに強制変換します。結果の値は、そのインデックスにある配列の値です。
このリゾルバーは読み取り専用モードで構築できます。つまり、
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
フィールドのサマリー
クラス jakarta.el.ELResolver から継承されたフィールド
RESOLVABLE_AT_DESIGN_TIME, TYPE
コンストラクターの概要
コンストラクター コンストラクター 説明 ArrayELResolver()新しい読み取り / 書き込みArrayELResolverを作成します。ArrayELResolver(boolean isReadOnly)指定されたパラメーターによって読み取り専用ステータスが決定される新しいArrayELResolverを作成します。
メソッドのサマリー
すべてのメソッド インスタンスメソッド 具象メソッド 非推奨のメソッド 修飾子と型 メソッド 説明 ClassSE<?>getCommonPropertyType(ELContext context, ObjectSE base)基本オブジェクトが Java 言語配列の場合、このリゾルバーがproperty引数として受け入れる最も一般的な型を返します。IteratorSE<FeatureDescriptorSE>getFeatureDescriptors(ELContext context, ObjectSE base)非推奨、削除予定: この API 要素は、将来のバージョンで削除される可能性があります。このメソッドは、EL 6.0 では代替なしで削除されますClassSE<?>getType(ELContext context, ObjectSE base, ObjectSE property)基本オブジェクトが配列の場合、この配列の値の最も一般的に受け入れ可能な型を返します。ObjectSEgetValue(ELContext context, ObjectSE base, ObjectSE property)基本オブジェクトが Java 言語配列の場合、指定されたインデックスの値を返します。booleanisReadOnly(ELContext context, ObjectSE base, ObjectSE property)基本オブジェクトが Java 言語配列の場合、setValue(jakarta.el.ELContext, java.lang.Object, java.lang.Object, java.lang.Object)の呼び出しが常に失敗するかどうかを返します。voidsetValue(ELContext context, ObjectSE base, ObjectSE property, ObjectSE val)基本オブジェクトが Java 言語配列の場合、指定されたインデックスの値に指定された値を設定しようとします。クラス jakarta.el.ELResolver から継承されたメソッド
convertToType, invoke
メソッドの詳細
getType
public ClassSE<?> getType(ELContext context, ObjectSE base, ObjectSE property)
基本オブジェクトが配列の場合、この配列の値の最も一般的に受け入れ可能な型を返します。ベースが
arrayの場合、戻る前に、このリゾルバーによってELContextオブジェクトのpropertyResolvedプロパティをtrueに設定する必要があります。このメソッドが呼び出された後、このプロパティがtrueでない場合、呼び出し元は戻り値を無視する必要があります。ベースが
arrayであり、このリゾルバーが読み取り専用モードで構築されていないと仮定すると、このメソッドはbase.getClass().getComponentType()を返します。これは、配列内の任意のインデックスに格納できる最も一般的な型のコンポーネントです。- 次で指定:
- クラス
ELResolverのgetType - パラメーター:
context- この評価のコンテキスト。base- 分析する配列。このリゾルバーによって処理されるのは、Java 言語配列であるベースのみです。property- 受け入れ可能な型を返す配列内の要素のインデックス。整数に強制変換されますが、それ以外の場合はこのリゾルバーによって無視されます。- 戻り値:
ELContextのpropertyResolvedプロパティがtrueに設定された場合、プロパティまたはリゾルバーが読み取り専用の場合、最も一般的に受け入れられる型はnullでなければなりません。それ以外は未定義- 例外:
PropertyNotFoundException- 指定されたインデックスがこの配列の範囲外の場合。NullPointerExceptionSE- コンテキストがnullの場合ELException- プロパティまたは変数の解決の実行中に例外がスローされた場合。スローされた例外は、可能であれば、この例外の原因プロパティとして含める必要があります。
getValue
public ObjectSE getValue(ELContext context, ObjectSE base, ObjectSE property)
基本オブジェクトが Java 言語配列の場合、指定されたインデックスの値を返します。インデックスはproperty引数で指定され、整数に強制変換されます。強制が実行できなかった場合、IllegalArgumentExceptionがスローされます。インデックスが範囲外の場合、nullが返されます。ベースが Java 言語配列の場合、戻る前に、このリゾルバーによって
ELContextオブジェクトのpropertyResolvedプロパティをtrueに設定する必要があります。このメソッドが呼び出された後、このプロパティがtrueでない場合、呼び出し元は戻り値を無視する必要があります。- 次で指定:
- クラス
ELResolverのgetValue - パラメーター:
context- この評価のコンテキスト。base- 分析する配列。このリゾルバーによって処理されるのは、Java 言語配列であるベースのみです。property- 返される値のインデックス。整数に強制変換されます。- 戻り値:
ELContextのpropertyResolvedプロパティがtrueに設定されている場合、指定されたインデックスの値、インデックスが範囲外の場合はnull。それ以外の場合、未定義です。- 例外:
IllegalArgumentExceptionSE- プロパティを整数に強制変換できない場合。NullPointerExceptionSE- コンテキストがnullの場合。ELException- プロパティまたは変数の解決の実行中に例外がスローされた場合。スローされた例外は、可能であれば、この例外の原因プロパティとして含める必要があります。
setValue
public void setValue(ELContext context, ObjectSE base, ObjectSE property, ObjectSE val)
基本オブジェクトが Java 言語配列の場合、指定されたインデックスの値に指定された値を設定しようとします。インデックスはproperty引数で指定され、整数に強制変換されます。強制が実行できなかった場合、IllegalArgumentExceptionがスローされます。インデックスが範囲外の場合、PropertyNotFoundExceptionがスローされます。ベースが Java 言語配列の場合、戻る前に、このリゾルバーによって
ELContextオブジェクトのpropertyResolvedプロパティをtrueに設定する必要があります。このメソッドが呼び出された後、このプロパティがtrueでない場合、呼び出し元は値が設定されていないと安全に想定できます。このリゾルバーが読み取り専用モードで作成された場合、このメソッドは常に
PropertyNotWritableExceptionをスローします。- 次で指定:
- クラス
ELResolverのsetValue - パラメーター:
context- この評価のコンテキスト。base- 変更する配列。このリゾルバーによって処理されるのは、Java 言語配列であるベースのみです。property- 設定する値のインデックス。整数に強制変換されます。val- 指定されたインデックスに設定される値。- 例外:
ClassCastExceptionSE- 指定された要素のクラスにより、その要素がこの配列に追加されない場合。NullPointerExceptionSE- コンテキストがnullの場合。IllegalArgumentExceptionSE- プロパティを整数に強制変換できなかった場合、または指定された要素の何らかの側面により、プロパティがこの配列に追加されない場合。PropertyNotWritableException- このリゾルバーが読み取り専用モードで構築されている場合。PropertyNotFoundException- 指定されたインデックスがこの配列の範囲外の場合。ELException- プロパティまたは変数の解決の実行中に例外がスローされた場合。スローされた例外は、可能であれば、この例外の原因プロパティとして含める必要があります。
isReadOnly
public boolean isReadOnly(ELContext context, ObjectSE base, ObjectSE property)
基本オブジェクトが Java 言語配列の場合、setValue(jakarta.el.ELContext, java.lang.Object, java.lang.Object, java.lang.Object)の呼び出しが常に失敗するかどうかを返します。ベースが Java 言語配列の場合、戻る前に、このリゾルバーによって
ELContextオブジェクトのpropertyResolvedプロパティをtrueに設定する必要があります。このメソッドが呼び出された後、このプロパティがtrueでない場合、呼び出し元は戻り値を無視する必要があります。このリゾルバーが読み取り専用モードで構築されている場合、このメソッドは常に
trueを返します。それ以外の場合は、falseを返します。- 次で指定:
- クラス
ELResolverのisReadOnly - パラメーター:
context- この評価のコンテキスト。base- 分析する配列。このリゾルバーによって処理されるのは、Java 言語配列であるベースのみです。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- 分析する配列。このリゾルバーによって処理されるのは、Java 言語配列であるベースのみです。- 戻り値:
null.- 関連事項:
FeatureDescriptorSE
getCommonPropertyType
public ClassSE<?> getCommonPropertyType(ELContext context, ObjectSE base)
基本オブジェクトが Java 言語配列の場合、このリゾルバーがproperty引数に対して受け入れる最も一般的な型を返します。それ以外の場合は、nullを返します。ベースが配列であると仮定すると、このメソッドは常に
Integer.classを返します。これは、配列がインデックスに整数を受け入れるためです。- 次で指定:
- クラス
ELResolverのgetCommonPropertyType - パラメーター:
context- この評価のコンテキスト。base- 分析する配列。このリゾルバーによって処理されるのは、Java 言語配列であるベースのみです。- 戻り値:
- ベースが Java 言語配列でない場合は
null。それ以外の場合はInteger.class。