クラス StaticFieldELResolver
- java.lang.ObjectSE
-
- jakarta.el.ELResolver
-
- jakarta.el.StaticFieldELResolver
public class StaticFieldELResolver extends ELResolver
静的フィールド、列挙型定数、静的メソッドを解決するためのELResolver
。また、コンストラクター呼び出しを特別なケースとして処理します。リゾルバーは、通常 Jakarta Expression Language 実装によって生成される型
ELClass
の基本オブジェクトを処理します。- 導入:
- Jakarta Expression Language 3.0
- 関連事項:
ELClass
フィールドサマリー
クラス jakarta.el.ELResolver から継承されたフィールド
RESOLVABLE_AT_DESIGN_TIME, TYPE
コンストラクターのサマリー
コンストラクター コンストラクター 説明 StaticFieldELResolver()
メソッドのサマリー
すべてのメソッド インスタンスメソッド 具象メソッド 非推奨のメソッド 修飾子と型 メソッド 説明 ClassSE<?>
getCommonPropertyType(ELContext context, ObjectSE base)
プロパティの型を返します。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)
静的フィールドの値を返します。ObjectSE
invoke(ELContext context, ObjectSE base, ObjectSE methodName, ClassSE<?>[] paramTypes, ObjectSE[] params)
public static メソッドまたはクラスのコンストラクターを呼び出します。boolean
isReadOnly(ELContext context, ObjectSE base, ObjectSE property)
静的フィールドが書き込み可能かどうかを問い合わせます。void
setValue(ELContext context, ObjectSE base, ObjectSE property, ObjectSE value)
静的フィールドへの書き込みを試みます。クラス jakarta.el.ELResolver から継承されたメソッド
convertToType
メソッドの詳細
getValue
public ObjectSE getValue(ELContext context, ObjectSE base, ObjectSE property)
静的フィールドの値を返します。
ベースオブジェクトが
プロパティがELClass
のインスタンスであり、プロパティが String の場合、戻る前に、このリゾルバーによってELContext
オブジェクトのpropertyResolved
プロパティをtrue
に設定する必要があります。このメソッドが呼び出された後、このプロパティがtrue
でない場合、呼び出し元は戻り値を無視する必要があります。ELClass
で指定されたクラスのパブリック静的フィールドである場合、静的フィールドの値を返します。Enum 定数は、Enum オブジェクトの静的なパブリックフィールドであり、この特殊なケースです。- 次で指定:
- クラス
ELResolver
のgetValue
- パラメーター:
context
- この評価のコンテキスト。base
-ELClass
。property
- 静的フィールド名。- 戻り値:
ELContext
のpropertyResolved
プロパティがtrue
に設定されている場合、静的フィールドの値。- 例外:
NullPointerExceptionSE
- コンテキストがnull
の場合。PropertyNotFoundException
- 指定されたクラスが存在しない場合、フィールドがクラスのパブリック静的フィールドでない場合、またはフィールドにアクセスできない場合。
setValue
public void setValue(ELContext context, ObjectSE base, ObjectSE property, ObjectSE value)
静的フィールドへの書き込みを試みます。
ベースオブジェクトが
ELClass
のインスタンスであり、プロパティが String の場合、静的フィールドへの書き込みが許可されていないため、PropertyNotWritableException
が常にスローされます。- 次で指定:
- クラス
ELResolver
のsetValue
- パラメーター:
context
- この評価のコンテキスト。base
-ELClass
property
- フィールドの名前value
- クラスのフィールドに設定する値。- 例外:
NullPointerExceptionSE
- コンテキストがnull
の場合PropertyNotWritableException
-ELClass
のベースオブジェクトインスタンスと String のproperty
インスタンスの場合
invoke
public ObjectSE invoke(ELContext context, ObjectSE base, ObjectSE methodName, ClassSE<?>[] paramTypes, ObjectSE[] params)
public static メソッドまたはクラスのコンストラクターを呼び出します。ベースオブジェクトが
ELClass
のインスタンスであり、メソッドが String である場合、戻る前に、リゾルバーによってELContext
オブジェクトのpropertyResolved
プロパティをtrue
に設定する必要があります。このメソッドが呼び出された後、このプロパティがtrue
でない場合、呼び出し元は戻り値を無視する必要があります。method
で指定された静的な public メソッドを呼び出します。メソッドの選択に関係するプロセスは、
BeanELResolver
で使用されるプロセスと同じです。特殊なケースとして、メソッドの名前が "<init>" の場合、クラスのコンストラクターが呼び出されます。
- オーバーライド:
- クラス
ELResolver
のinvoke
- パラメーター:
base
-ELClass
methodName
-String
に強制変換される場合、メソッドの単純な名前。paramTypes
- メソッドの仮パラメーター型を宣言された順序で識別する Class オブジェクトの配列。メソッドにパラメーターがない場合は、空の配列を使用します。null
にすることができます。その場合、メソッドの仮パラメーターの型は不明であると見なされます。params
- メソッドに渡すパラメーター。パラメーターがない場合はnull
。context
- この評価のコンテキスト。- 戻り値:
- メソッド呼び出しの結果(メソッドに
void
戻り値の型がある場合はnull
)。 - 例外:
MethodNotFoundException
- 適切な方法が見つからない場合。ELException
- (ベース、メソッド)解決の実行中に例外がスローされた場合スローされた例外は、可能であれば、この例外の原因プロパティとして含める必要があります。スローされた例外がInvocationTargetException
の場合、そのcause
を抽出し、それをELException
コンストラクターに渡します。
getType
public ClassSE<?> getType(ELContext context, ObjectSE base, ObjectSE property)
静的フィールドの型を返します。ベースオブジェクトが
ELClass
のインスタンスであり、プロパティが文字列である場合、ELContext
オブジェクトのpropertyResolved
プロパティは、戻る前にリゾルバーによってtrue
に設定される必要があります。このメソッドが呼び出された後、このプロパティがtrue
でない場合、呼び出し元は値が設定されていないと安全に想定できます。- 次で指定:
- クラス
ELResolver
のgetType
- パラメーター:
context
- この評価のコンテキスト。base
-ELClass
。property
- フィールドの名前- 戻り値:
ELContext
のpropertyResolved
プロパティがtrue
に設定されている場合、null
です。それ以外は未定義。- 例外:
NullPointerExceptionSE
- コンテキストがnull
の場合。PropertyNotFoundException
- フィールドがクラスのパブリック静的フィールドでない場合、またはフィールドにアクセスできない場合。
isReadOnly
public boolean isReadOnly(ELContext context, ObjectSE base, ObjectSE property)
静的フィールドが書き込み可能かどうかを問い合わせます。
ベースオブジェクトが
ELClass
のインスタンスであり、プロパティが文字列である場合、ELContext
オブジェクトのpropertyResolved
プロパティは、戻る前にリゾルバーによってtrue
に設定される必要があります。このメソッドが呼び出された後、このプロパティがtrue
でない場合、呼び出し元は値が設定されていないと安全に想定できます。静的フィールドへの書き込みは許可されていないため、常に
true
を返します。- 次で指定:
- クラス
ELResolver
のisReadOnly
- パラメーター:
context
- この評価のコンテキスト。base
-ELClass
。property
- Bean の名前。- 戻り値:
true
- 例外:
NullPointerExceptionSE
- コンテキストがnull
の場合。
getFeatureDescriptors
@DeprecatedSE(forRemoval=true, since="5.0") public IteratorSE<FeatureDescriptorSE> getFeatureDescriptors(ELContext context, ObjectSE base)
非推奨、削除予定: この API 要素は、将来のバージョンで削除される可能性があります。このメソッドは、EL 6.0 では代替なしで削除されます解決できるプロパティを返します。1 つの要素(フィールド名)のリストを反復処理する理由がないため、常にnull
を返します。- オーバーライド:
- クラス
ELResolver
のgetFeatureDescriptors
- パラメーター:
context
- この評価のコンテキスト。base
-ELClass
。- 戻り値:
null
.- 関連事項:
FeatureDescriptor
SE
getCommonPropertyType
public ClassSE<?> getCommonPropertyType(ELContext context, ObjectSE base)
プロパティの型を返します。フィールド名は文字列であるため、常にString.class
を返します。- 次で指定:
- クラス
ELResolver
のgetCommonPropertyType
- パラメーター:
context
- この評価のコンテキスト。base
-ELClass
。- 戻り値:
String.class
.