クラス 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 booleanequals(ObjectSE obj)指定されたオブジェクトがこのExpressionと等しいかどうかを判断します。abstract StringSEgetExpressionString()このExpressionの作成に使用された元の文字列を変更せずに返します。abstract inthashCode()このExpressionのハッシュコードを返します。abstract booleanisLiteralText()この式がリテラルテキストのみから作成されたかどうかを返します。
メソッドの詳細
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。 - 関連事項:
HashtableSE,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),HashtableSE,Object.hashCode()
isLiteralText
public abstract boolean isLiteralText()
この式がリテラルテキストのみから作成されたかどうかを返します。このメソッドは、この式が作成された式文字列にエスケープされていない Jakarta Expression Language デリミタ(
${...}または#{...})が含まれていない場合にのみ、trueを返す必要があります。- 戻り値:
true(この式がリテラルテキストのみから作成された場合)。それ以外の場合はfalse。