クラス 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)
基本オブジェクトが配列の場合、この配列の値の最も一般的に受け入れ可能な型を返します。ObjectSE
getValue(ELContext context, ObjectSE base, ObjectSE property)
基本オブジェクトが Java 言語配列の場合、指定されたインデックスの値を返します。boolean
isReadOnly(ELContext context, ObjectSE base, ObjectSE property)
基本オブジェクトが Java 言語配列の場合、setValue(jakarta.el.ELContext, java.lang.Object, java.lang.Object, java.lang.Object)
の呼び出しが常に失敗するかどうかを返します。void
setValue(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
.- 関連事項:
FeatureDescriptor
SE
getCommonPropertyType
public ClassSE<?> getCommonPropertyType(ELContext context, ObjectSE base)
基本オブジェクトが Java 言語配列の場合、このリゾルバーがproperty
引数に対して受け入れる最も一般的な型を返します。それ以外の場合は、null
を返します。ベースが配列であると仮定すると、このメソッドは常に
Integer.class
を返します。これは、配列がインデックスに整数を受け入れるためです。- 次で指定:
- クラス
ELResolver
のgetCommonPropertyType
- パラメーター:
context
- この評価のコンテキスト。base
- 分析する配列。このリゾルバーによって処理されるのは、Java 言語配列であるベースのみです。- 戻り値:
- ベースが Java 言語配列でない場合は
null
。それ以外の場合はInteger.class
。