public class StaticFieldELResolver extends ELResolver
ELResolver
。また、コンストラクター呼び出しを特別なケースとして処理します。 リゾルバーは、通常 Jakarta Expression Language 実装によって生成される型 ELClass
の基本オブジェクトを処理します。
ELClass
RESOLVABLE_AT_DESIGN_TIME, TYPE
コンストラクターと説明 |
---|
StaticFieldELResolver() |
修飾子と型 | メソッドと説明 |
---|---|
ClassSE<?> | getCommonPropertyType(ELContext context, ObjectSE base) プロパティの型を返します。 |
IteratorSE<FeatureDescriptorSE> | getFeatureDescriptors(ELContext context, ObjectSE base) 解決できるプロパティを返します。 |
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) 静的フィールドへの書き込みを試みます。 |
convertToType
cloneSE, equalsSE, finalizeSE, getClassSE, hashCodeSE, notifySE, notifyAllSE, toStringSE, waitSE, waitSE, waitSE
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
- 指定されたクラスが存在しない場合、フィールドがクラスのパブリック静的フィールドでない場合、またはフィールドにアクセスできない場合。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
インスタンスの場合 public ObjectSE invoke(ELContext context, ObjectSE base, ObjectSE methodName, ClassSE<?>[] paramTypes, ObjectSE[] params)
ベースオブジェクトが 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
コンストラクターに渡します。public ClassSE<?> getType(ELContext context, ObjectSE base, ObjectSE property)
ベースオブジェクトが ELClass
のインスタンスであり、プロパティが文字列である場合、ELContext
オブジェクトの propertyResolved
プロパティは、戻る前にリゾルバーによって true
に設定される必要があります。このメソッドが呼び出された後、このプロパティが true
でない場合、呼び出し元は値が設定されていないと安全に想定できます。
プロパティ文字列が ELClass で指定されたクラスのパブリック静的フィールドである場合は、静的フィールドの型を返します。
ELResolver
の getType
context
- この評価のコンテキスト。base
- ELClass
。property
- フィールドの名前 ELContext
の propertyResolved
プロパティが true
に設定されている場合、フィールドの型の型。NullPointerExceptionSE
- コンテキストが null
の場合。PropertyNotFoundException
- フィールドがクラスのパブリック静的フィールドでない場合、またはフィールドにアクセスできない場合。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
の場合。public IteratorSE<FeatureDescriptorSE> getFeatureDescriptors(ELContext context, ObjectSE base)
null
を返します。ELResolver
の getFeatureDescriptors
context
- この評価のコンテキスト。base
- ELClass
。null
.FeatureDescriptor
SEpublic ClassSE<?> getCommonPropertyType(ELContext context, ObjectSE base)
String.class
を返します。ELResolver
の getCommonPropertyType
context
- この評価のコンテキスト。base
- ELClass
。String.class
.Copyright © 2019 Eclipse Foundation.
Use is subject to license terms.