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