クラス ELContext
- java.lang.ObjectSE
-
- jakarta.el.ELContext
- 既知の直属サブクラス
FaceletContext
,StandardELContext
public abstract class ELContext extends ObjectSE
式の解析および評価のコンテキスト情報。Expression
を解析または評価するには、ELContext
を提供する必要があります。ELContext
は以下を保持します。- Jakarta Expression Language Functions の解決に使用される
FunctionMapper
への参照。これは解析でのみ使用されます。 - Jakarta Expression Language Variables の解決に使用される
VariableMapper
への参照。これは解析でのみ使用されます。 - モデルオブジェクトとそのプロパティを解決するために参照されるベース
ELResolver
への参照 ELResolver
が使用するすべての関連するコンテキストオブジェクトのコレクション- プロパティがまだ解決されているかどうかなど、式の評価中の状態情報
- インポートされたクラスを解決するために参照される
ImportHandler
への参照 - アクティブな
LambdaExpression
の引数への参照 - 登録された評価リスナーのリストへの参照
各
ELResolver
は異なるコンテキストオブジェクトにアクセスする必要があるため、コンテキストオブジェクトのコレクションが必要です。例: Jakarta Server Pages および Jakarta Faces リゾルバーは、それぞれjakarta.servlet.jsp.JspContext
およびjakarta.faces.context.FacesContext
にアクセスする必要があります。Web コンテナーで使用される場合、
ELContext
オブジェクトの作成は、基礎となるテクノロジーによって制御されます。例: Jakarta Server Pages では、JspContext.getELContext()
ファクトリ方式が使用されます。一部のテクノロジーは、ELContextListener
を追加する機能を提供するため、アプリケーションおよびフレームワークは、独自に作成されたELContext
に独自のコンテキストオブジェクトを確実に接続できます。StandardELContext
は、スタンドアロン環境で使用される場合、ELManager
によって管理および変更されるデフォルトのELContext
を提供します。式の評価中に状態を保存するため、
ELContext
オブジェクトはスレッドセーフではありません。2 つ以上のスレッド間でELContext
インスタンスを共有しないように注意する必要があります。- 導入:
- Jakarta Expression Language 2.1 および Jakarta Expression Language 3.0
- 関連事項:
ELContextListener
,ELContextEvent
,ELResolver
,FunctionMapper
,VariableMapper
,ImportHandler
,LambdaExpression
,StandardELContext
コンストラクターのサマリー
コンストラクター コンストラクター 説明 ELContext()
メソッドのサマリー
すべてのメソッド インスタンスメソッド 抽象メソッド 具象メソッド 修飾子と型 メソッド 説明 void
addEvaluationListener(EvaluationListener listener)
評価リスナーを ELContext に登録します。<T> T
convertToType(ObjectSE obj, ClassSE<T> targetType)
オブジェクトを特定の型に変換します。void
enterLambdaScope(MapSE<StringSE,ObjectSE> args)
Lambda 式の評価の準備として、Lambda 引数マップをインストールします。void
exitLambdaScope()
Lambda 式の評価を終了します。ObjectSE
getContext(ClassSE<?> key)
指定されたキーに関連付けられたコンテキストオブジェクトを返します。abstract ELResolver
getELResolver()
このコンテキストに関連付けられたELResolver
を取得します。ListSE<EvaluationListener>
getEvaluationListeners()
登録された評価リスナーのリストを返します。abstract FunctionMapper
getFunctionMapper()
このELContext
に関連付けられたFunctionMapper
を取得します。ImportHandler
getImportHandler()
このELContext
に関連付けられたImportHandler
を取得します。ObjectSE
getLambdaArgument(StringSE arg)
仮パラメーターに関連付けられた Lambda 引数を取得します。LocaleSE
getLocale()
setLocale(java.util.Locale)
への前回の呼び出しで保存されたLocale
を取得します。abstract VariableMapper
getVariableMapper()
このELContext
に関連付けられたVariableMapper
を取得します。boolean
isLambdaArgument(StringSE arg)
名前が LambdaArgument かどうかを問い合わせますboolean
isPropertyResolved()
ELResolver
が指定された(ベース、プロパティ)ペアを正常に解決したかどうかを返します。void
notifyAfterEvaluation(StringSE expr)
Jakarta Expression Language 式が評価された後にリスナーに通知しますvoid
notifyBeforeEvaluation(StringSE expr)
Jakarta Expression Language 式が評価される前にリスナーに通知しますvoid
notifyPropertyResolved(ObjectSE base, ObjectSE property)
(base、property)ペアが解決されたときにリスナーに通知しますvoid
putContext(ClassSE<?> key, ObjectSE contextObject)
コンテキストオブジェクトをこのELContext
に関連付けます。void
setLocale(LocaleSE locale)
このインスタンスのLocale
を設定します。void
setPropertyResolved(boolean resolved)
ELResolver
が特定の(ベース、プロパティ)ペアを正常に解決したことを示すために呼び出されます。void
setPropertyResolved(ObjectSE base, ObjectSE property)
ELResolver
が特定の(ベース、プロパティ)ペアを正常に解決したことを示し、EvaluationListener
に通知するために呼び出されます。
メソッドの詳細
setPropertyResolved
public void setPropertyResolved(boolean resolved)
ELResolver
が特定の(ベース、プロパティ)ペアを正常に解決したことを示すために呼び出されます。解決が true の場合はsetPropertyResolved(Object, Object)
を使用し、EvaluationListener
に通知します。CompositeELResolver
はこのプロパティをチェックして、他のコンポーネントリゾルバーを考慮するかスキップするかを決定します。- パラメーター:
resolved
- プロパティが解決されている場合は true、解決されていない場合は false。- 関連事項:
CompositeELResolver
setPropertyResolved
public void setPropertyResolved(ObjectSE base, ObjectSE property)
ELResolver
が特定の(ベース、プロパティ)ペアを正常に解決したことを示し、EvaluationListener
に通知するために呼び出されます。CompositeELResolver
はこのプロパティをチェックして、他のコンポーネントリゾルバーを考慮するかスキップするかを決定します。- パラメーター:
base
- 基本オブジェクトproperty
- プロパティオブジェクト- 導入:
- Jakarta Expression Language 3.0
- 関連事項:
CompositeELResolver
isPropertyResolved
public boolean isPropertyResolved()
ELResolver
が指定された(ベース、プロパティ)ペアを正常に解決したかどうかを返します。CompositeELResolver
はこのプロパティをチェックして、他のコンポーネントリゾルバーを考慮するかスキップするかを決定します。- 戻り値:
- プロパティが解決されている場合は true、解決されていない場合は false。
- 関連事項:
CompositeELResolver
putContext
public void putContext(ClassSE<?> key, ObjectSE contextObject)
コンテキストオブジェクトをこのELContext
に関連付けます。ELContext
は、式の評価に関連するコンテキストオブジェクトのコレクションを保持します。これらのコンテキストオブジェクトはELResolver
によって使用されます。このメソッドは、そのコレクションにコンテキストオブジェクトを追加するために使用されます。慣例により、
contextObject
はkey
で指定された型になります。ただし、これは必須ではなく、キーは一意の識別子として厳密に使用されます。- パラメーター:
key
- このコンテキストオブジェクトを識別するために @{link ELResolver} によって使用されるキー。contextObject
- コレクションに追加するコンテキストオブジェクト。- 例外:
NullPointerExceptionSE
- キーが null の場合、または contextObject が null の場合。
getContext
public ObjectSE getContext(ClassSE<?> key)
指定されたキーに関連付けられたコンテキストオブジェクトを返します。ELContext
は、式の評価に関連するコンテキストオブジェクトのコレクションを保持します。これらのコンテキストオブジェクトはELResolver
によって使用されます。このメソッドは、指定されたキーを持つコンテキストをコレクションから取得するために使用されます。慣例により、返されるオブジェクトは
key
で指定された型になります。ただし、これは必須ではなく、キーは一意の識別子として厳密に使用されます。- パラメーター:
key
- コンテキストオブジェクトをこのELContext
に関連付けるために使用された一意の識別子。- 戻り値:
- 指定されたキーに関連付けられたコンテキストオブジェクト。そのようなコンテキストが見つからなかった場合は null。
- 例外:
NullPointerExceptionSE
- キーが null の場合。
getELResolver
public abstract ELResolver getELResolver()
このコンテキストに関連付けられたELResolver
を取得します。ELContext
は、式の評価中に変数とプロパティを解決するために参照されるELResolver
への参照を維持します。このメソッドは、リゾルバーへの参照を取得します。ELContext
が構築されると、コンテキストに関連付けられたELResolver
への参照は変更できません。- 戻り値:
- 式の評価中に変数とプロパティの解決のために参照されるリゾルバー。
getImportHandler
public ImportHandler getImportHandler()
このELContext
に関連付けられたImportHandler
を取得します。- 戻り値:
- クラスとパッケージのインポートを管理するインポートハンドラー。
- 導入:
- Jakarta Expression Language 3.0
getFunctionMapper
public abstract FunctionMapper getFunctionMapper()
このELContext
に関連付けられたFunctionMapper
を取得します。- 戻り値:
- Jakarta Expression Language 関数の解決のために参照される関数マッパー。
getLocale
public LocaleSE getLocale()
setLocale(java.util.Locale)
への以前の呼び出しで格納されたLocale
を取得します。このメソッドが非null
を返す場合、このLocale
は、実装におけるすべてのローカライゼーションのニーズに使用する必要があります。Locale
を動的に変更するアプリケーションを可能にするために、Locale
をキャッシュしないでください。- 戻り値:
- このインスタンスが動作している
Locale
。主にメッセージのローカライズに使用されます。
setLocale
public void setLocale(LocaleSE locale)
このインスタンスのLocale
を設定します。このメソッドは、Jakarta Faces や Jakarta Server Pages などのインスタンスを作成するパーティによって呼び出され、Jakarta Expression Language 実装がローカライズされたメッセージをユーザーに提供できるようにします。
Locale
が設定されていない場合、実装はLocale.getDefault( )
によって返されるロケールを使用する必要があります。- パラメーター:
locale
- このインスタンスのロケール
getVariableMapper
public abstract VariableMapper getVariableMapper()
このELContext
に関連付けられたVariableMapper
を取得します。- 戻り値:
- Jakarta Expression Language 変数の解決のために参照される変数マッパー。
addEvaluationListener
public void addEvaluationListener(EvaluationListener listener)
評価リスナーを ELContext に登録します。- パラメーター:
listener
- 追加するリスナー。- 導入:
- Jakarta Expression Language 3.0
getEvaluationListeners
public ListSE<EvaluationListener> getEvaluationListeners()
登録された評価リスナーのリストを返します。- 戻り値:
- 登録された評価リスナーのリスト。
- 導入:
- Jakarta Expression Language 3.0
notifyBeforeEvaluation
public void notifyBeforeEvaluation(StringSE expr)
Jakarta Expression Language 式が評価される前にリスナーに通知します- パラメーター:
expr
- 評価される Jakarta Expression Language 式の文字列
notifyAfterEvaluation
public void notifyAfterEvaluation(StringSE expr)
Jakarta Expression Language 式が評価された後にリスナーに通知します- パラメーター:
expr
- 評価された Jakarta Expression Language 式文字列
notifyPropertyResolved
public void notifyPropertyResolved(ObjectSE base, ObjectSE property)
(base、property)ペアが解決されたときにリスナーに通知します- パラメーター:
base
- 基本オブジェクトproperty
- プロパティオブジェクト
isLambdaArgument
public boolean isLambdaArgument(StringSE arg)
名前が LambdaArgument かどうかを問い合わせます- パラメーター:
arg
- 可能な Lambda 仮パラメーター名- 戻り値:
- arg が LambdaArgument の場合は true、それ以外の場合は false。
getLambdaArgument
public ObjectSE getLambdaArgument(StringSE arg)
仮パラメーターに関連付けられた Lambda 引数を取得します。Lambda 式が他の Lambda 式内にネストされている場合、現在の Lambda 式の引数が最初に検索され、見つからない場合は、直接ネストされている Lambda 式の引数が検索されます。- パラメーター:
arg
- Lambda 引数の仮パラメーター- 戻り値:
- 仮パラメーターに関連付けられたオブジェクト。オブジェクトがパラメーターに関連付けられていない場合は null。
- 導入:
- Jakarta Expression Language 3.0
enterLambdaScope
public void enterLambdaScope(MapSE<StringSE,ObjectSE> args)
ラムダ式の評価に備えて、ラムダ引数マップをインストールします。マップ内の引数は、ラムダ式の評価中にスコープに含まれます。- パラメーター:
args
- ラムダ引数マップ- 導入:
- Jakarta Expression Language 3.0
exitLambdaScope
public void exitLambdaScope()
Lambda 式の評価を終了します。以前にインストールされていた Lambda 引数マップは削除されました。- 導入:
- Jakarta Expression Language 3.0
convertToType
public <T> T convertToType(ObjectSE obj, ClassSE<T> targetType)
オブジェクトを特定の型に変換します。ELResolver
のカスタムコンバーターがこの変換を処理する場合は、それが使用されます。それ以外の場合は、標準の強制が適用されます。変換中にエラーが発生すると、
ELException
がスローされます。- パラメーター:
obj
- 変換するオブジェクト。targetType
- 変換のターゲット型。- 戻り値:
targetType
に変換されたオブジェクト- 例外:
ELException
- エラーが発生した場合にスローされます。- 導入:
- Jakarta Expression Language 3.0