クラス 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)静的フィールドの型を返します。ObjectSEgetValue(ELContext context, ObjectSE base, ObjectSE property)静的フィールドの値を返します。ObjectSEinvoke(ELContext context, ObjectSE base, ObjectSE methodName, ClassSE<?>[] paramTypes, ObjectSE[] params)public static メソッドまたはクラスのコンストラクターを呼び出します。booleanisReadOnly(ELContext context, ObjectSE base, ObjectSE property)静的フィールドが書き込み可能かどうかを問い合わせます。voidsetValue(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-ELClassproperty- フィールドの名前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-ELClassmethodName-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.- 関連事項:
FeatureDescriptorSE
getCommonPropertyType
public ClassSE<?> getCommonPropertyType(ELContext context, ObjectSE base)
プロパティの型を返します。フィールド名は文字列であるため、常にString.classを返します。- 次で指定:
- クラス
ELResolverのgetCommonPropertyType - パラメーター:
context- この評価のコンテキスト。base-ELClass。- 戻り値:
String.class.