public abstract class ELContext extends ObjectSE
Expression
を解析または評価するには、ELContext
を提供する必要があります。ELContext
は以下を保持します。
FunctionMapper
への参照。これは解析でのみ使用されます。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
インスタンスを共有しないように注意する必要があります。
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, waitSE
public void setPropertyResolved(boolean resolved)
ELResolver
が特定の(ベース、プロパティ)ペアを正常に解決したことを示すために呼び出されます。解決が true の場合は setPropertyResolved(Object, Object)
を使用し、EvaluationListener
に通知します。CompositeELResolver
はこのプロパティをチェックして、他のコンポーネントリゾルバーを考慮するかスキップするかを決定します。
resolved
- プロパティが解決されている場合は true、解決されていない場合は false。CompositeELResolver
public void setPropertyResolved(ObjectSE base, ObjectSE property)
ELResolver
が特定の(ベース、プロパティ)ペアを正常に解決したことを示し、EvaluationListener
に通知するために呼び出されます。CompositeELResolver
はこのプロパティをチェックして、他のコンポーネントリゾルバーを考慮するかスキップするかを決定します。
base
- 基本オブジェクト property
- プロパティオブジェクト CompositeELResolver
public boolean isPropertyResolved()
ELResolver
が指定された(ベース、プロパティ)ペアを正常に解決したかどうかを返します。CompositeELResolver
はこのプロパティをチェックして、他のコンポーネントリゾルバーを考慮するかスキップするかを決定します。
CompositeELResolver
public 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 © 2018,2020 Eclipse Foundation.
Use is subject to license terms.