クラス ValueExpression
- 実装されているすべてのインターフェース:
SerializableSE
- 既知の直属サブクラス
IndexedValueExpression,IteratedValueExpression
Expression。 この API の以前の化身では、式は読み取ることしかできませんでした。ValueExpression オブジェクトは、値の取得と設定の両方に使用できるようになりました。値を設定できる式は、l 値式と呼ばれます。できない値は、r 値式と呼ばれます。すべての r 値式を l 値式として使用できるわけではありません(例: "${1+1}" または "${firstName} ${lastName}")。詳細については、EL 仕様を参照してください。l 値として使用できない式は、常に isReadOnly() から true を返す必要があります。
メソッドを使用して式文字列を解析し、解析された式をカプセル化する ExpressionFactory.createValueExpression(jakarta.el.ELContext, java.lang.String, java.lang.Class<?>) ValueExpression の具象インスタンスを返すことができます。FunctionMapper は評価時ではなく解析時に使用されるため、このクラスを使用して式を評価する必要はありません。ただし、評価時には ELContext が必要です。
getValue(jakarta.el.ELContext)、setValue(jakarta.el.ELContext, java.lang.Object)、isReadOnly(jakarta.el.ELContext)、getType(jakarta.el.ELContext) および getValueReference(jakarta.el.ELContext) メソッドは、呼び出されるたびに式を評価します。ELContext の ELResolver は、トップレベルの変数を解決し、. および [] 演算子の動作を決定するために使用されます。5 つのメソッドのいずれでも、ELResolver.getValue(jakarta.el.ELContext, java.lang.Object, java.lang.Object) メソッドを使用して、最後のプロパティを除くすべてのプロパティを解決します。これにより、base オブジェクトが提供されます。getValueReference(jakarta.el.ELContext) メソッド以外のすべてのメソッドの場合、最後の解決で、ValueExpression は、対応する ELResolver.getValue(jakarta.el.ELContext, java.lang.Object, java.lang.Object)、ELResolver.setValue(jakarta.el.ELContext, java.lang.Object, java.lang.Object, java.lang.Object)、ELResolver.isReadOnly(jakarta.el.ELContext, java.lang.Object, java.lang.Object)、ELResolver.getType(jakarta.el.ELContext, java.lang.Object, java.lang.Object) メソッドを呼び出します。どちらが ValueExpression で呼び出されたかによって異なります。getValueReference(jakarta.el.ELContext) メソッドの場合、(base、property)は ELResolver によって解決されませんが、これをカプセル化するために ValueReference のインスタンスが作成され、返されます。
Expression javadoc の比較、直列化、不変性に関するメモを参照してください。
- 導入:
- Jakarta Server Pages 2.1
- 関連事項:
コンストラクターの概要
コンストラクター方法の概要
修飾子と型メソッド説明abstract ClassSE<?>式の結果が評価後に強制される型を返します。abstract ClassSE<?>指定されたコンテキストを基準にして式を評価し、setValue(jakarta.el.ELContext, java.lang.Object)メソッドの今後の呼び出しでvalueパラメーターとしてオブジェクトを渡すのに受け入れられる最も一般的な型を返します。abstract <T> T指定されたコンテキストに関連して式を評価し、結果の値を返します。getValueReference(ELContext context) この式インスタンスのValueReferenceを返します。abstract booleanisReadOnly(ELContext context) 指定されたコンテキストに関連して式を評価し、setValue(jakarta.el.ELContext, java.lang.Object)の呼び出しが常に失敗する場合はtrueを返します。abstract void指定されたコンテキストに関連して式を評価し、結果を指定された値に設定します。クラス jakarta.el.Expression から継承されたメソッド
equals, getExpressionString, hashCode, isLiteralText
コンストラクターの詳細
ValueExpression
public ValueExpression()
メソッドの詳細
getValue
指定されたコンテキストに関連して式を評価し、結果の値を返します。結果の値は、この式が作成されたときに
ExpressionFactoryに提供されたgetExpectedType()によって返された型に自動的に強制変換されます。- パラメーター:
context- この評価のコンテキスト。- 戻り値:
- 式評価の結果。
- 例外:
NullPointerExceptionSE- コンテキストがnullの場合。PropertyNotFoundException- 指定された変数またはプロパティが存在しないか、読み込めないために、プロパティの解決の 1 つが失敗した場合。ELException- プロパティまたは変数の解決を実行中に例外がスローされた場合。スローされた例外は、可能であれば、この例外の原因プロパティとして含める必要があります。
setValue
指定されたコンテキストに関連して式を評価し、結果を指定された値に設定します。- パラメーター:
context- この評価のコンテキスト。value- 設定する新しい値。- 例外:
NullPointerExceptionSE- コンテキストがnullの場合。PropertyNotFoundException- 指定された変数またはプロパティが存在しないか、読み込めないために、プロパティの解決の 1 つが失敗した場合。PropertyNotWritableException- 指定された変数またはプロパティが書き込み可能ではないために、最終的な変数またはプロパティの解決が失敗した場合。ELException- プロパティまたは変数を設定しようとしたときに例外がスローされた場合。スローされた例外は、可能であれば、この例外の原因プロパティとして含める必要があります。
isReadOnly
指定されたコンテキストに関連して式を評価し、setValue(jakarta.el.ELContext, java.lang.Object)の呼び出しが常に失敗する場合はtrueを返します。- パラメーター:
context- この評価のコンテキスト。- 戻り値:
- 式が読み取り専用の場合は
true、そうでない場合はfalse。 - 例外:
NullPointerExceptionSE- コンテキストがnullの場合。PropertyNotFoundException- 指定された変数またはプロパティが存在しないか、読み込めないために、プロパティの解決の 1 つが失敗した場合。ELException- プロパティまたは変数の解決を実行中に例外がスローされた場合。スローされた例外は、可能であれば、この例外の原因プロパティとして含める必要があります。* コンテキストがnullの場合は @throws NullPointerException
getType
指定されたコンテキストを基準にして式を評価し、setValue(jakarta.el.ELContext, java.lang.Object)メソッドの今後の呼び出しでvalueパラメーターとしてオブジェクトを渡すのに受け入れられる最も一般的な型を返します。これは、常に
getValue().getClass()と同じではありません。例: 配列要素を参照する式の場合、getTypeメソッドは配列の要素型を返します。これは、指定された配列要素に現在ある実際の要素の型のスーパークラスである可能性があります。- パラメーター:
context- この評価のコンテキスト。- 戻り値:
- 最も一般的な許容型。それ以外は未定義。
- 例外:
NullPointerExceptionSE- コンテキストがnullの場合。PropertyNotFoundException- 指定された変数またはプロパティが存在しないか、読み込めないために、プロパティの解決の 1 つが失敗した場合。ELException- プロパティまたは変数の解決を実行中に例外がスローされた場合。スローされた例外は、可能であれば、この例外の原因プロパティとして含める必要があります。
getExpectedType
式の結果が評価後に強制される型を返します。- 戻り値:
- この
ValueExpressionを作成したExpressionFactory.createValueExpressionメソッドに渡されたexpectedType
getValueReference
この式インスタンスのValueReferenceを返します。- パラメーター:
context- この評価のコンテキスト- 戻り値:
- この
ValueExpressionのValueReference、またはこのValueExpressionがベース(null または非 null)およびプロパティへの参照でない場合はnull。ベースが null で、プロパティが Jakarta Expression Language 変数の場合、この Jakarta Expression Language 変数に関連付けられているValueExpressionのValueReferenceを返します。 - 導入:
- Jakarta Expression Language 2.2