クラス Expression
- java.lang.ObjectSE
-
- jakarta.el.Expression
- 実装されたすべてのインターフェース:
SerializableSE
- 既知の直属サブクラス
MethodExpression
,ValueExpression
public abstract class Expression extends ObjectSE implements SerializableSE
式のサブクラスValueExpression
およびMethodExpression
の基本クラス。両方に共通の特性を実装します。2 つの式が等しいかどうかを比較できるように、すべての式は
equals()
およびhashCode()
メソッドを実装する必要があります。これらは、サブクラスでの実装を強制するために、このクラスで再定義された抽象です。保存および復元できるように、すべての式も
Serializable
である必要があります。Expression
も不変に設計されているため、任意の式 String/FunctionMapper
に対してインスタンスを 1 つだけ作成する必要があります。これにより、コンテナーは式を事前に作成でき、評価されるたびに式を再解析する必要がなくなります。- 導入:
- Jakarta Server Pages 2.1
- 関連事項:
- 直列化された形式
コンストラクターのサマリー
コンストラクター コンストラクター 説明 Expression()
メソッドのサマリー
すべてのメソッド インスタンスメソッド 抽象メソッド 修飾子と型 メソッド 説明 abstract boolean
equals(ObjectSE obj)
指定されたオブジェクトがこのExpression
と等しいかどうかを判断します。abstract StringSE
getExpressionString()
このExpression
の作成に使用された元の文字列を変更せずに返します。abstract int
hashCode()
このExpression
のハッシュコードを返します。abstract boolean
isLiteralText()
この式がリテラルテキストのみから作成されたかどうかを返します。
メソッドの詳細
getExpressionString
public abstract StringSE getExpressionString()
このExpression
の作成に使用された元の文字列を変更せずに返します。これは、デバッグの目的だけでなく、比較の目的でも使用されます(たとえば、構成ファイルの式が変更されていないことを確認するため)。
このメソッドは、式を再作成するための十分な情報を提供しません。2 つの異なる式は、式文字列はまったく同じで関数マッピングが異なる場合があります。
Expression
の状態を保存および復元するには、直列化を使用する必要があります。- 戻り値:
- 元の式文字列。
equals
public abstract boolean equals(ObjectSE obj)
指定されたオブジェクトがこのExpression
と等しいかどうかを判断します。引数が
null
ではなく、同じ型(ValueExpression
またはMethodExpression
)であり、解析された表現が同じであるExpression
オブジェクトの場合、結果はtrue
になります。式の文字列が異なる場合、2 つの式が等しい場合があることに注意してください。例:
${fn1:foo()}
と${fn2:foo()}
は、対応するFunctionMapper
がfn1:foo
とfn2:foo
を同じメソッドにマッピングした場合に等しくなります。- オーバーライド:
- クラス
ObjectSE
のequalsSE
- パラメーター:
obj
-Object
が等しいかどうかをテストします。- 戻り値:
-
obj
がこのExpression
と等しい場合はtrue
。それ以外の場合はfalse
。 - 関連事項:
Hashtable
SE,Object.equals(java.lang.Object)
SE
hashCode
public abstract int hashCode()
このExpression
のハッシュコードを返します。式の文字列が異なる場合に 2 つの式を等しくする方法については、
equals(java.lang.Object)
メソッドのメモを参照してください。equals(Object)
メソッドに従って 2 つのオブジェクトが等しい場合、2 つのオブジェクトのそれぞれでhashCode
メソッドを呼び出すと、同じ整数の結果が生成される必要があることを思い出してください。実装では、特別な注意を払い、hashCode
を正しく実装する必要があります。- オーバーライド:
- クラス
ObjectSE
のhashCode
- 戻り値:
- この
Expression
のハッシュコード。 - 関連事項:
equals(java.lang.Object)
,Hashtable
SE,Object.hashCode()
isLiteralText
public abstract boolean isLiteralText()
この式がリテラルテキストのみから作成されたかどうかを返します。このメソッドは、この式が作成された式文字列にエスケープされていない Jakarta Expression Language デリミタ(
${...}
または#{...}
)が含まれていない場合にのみ、true
を返す必要があります。- 戻り値:
true
(この式がリテラルテキストのみから作成された場合)。それ以外の場合はfalse
。