クラス LambdaExpression
ValueExpression をカプセル化します。LambdaExpression は、Jakarta Expression Language Lambda 式の構文の表現です。これは、ValueExpression で表される仮パラメーターと本体のリストで構成されます。本体は、別の LambdaExpression を含む任意の有効な Expression にすることができます。
LambdaExpression は、ラムダ式を含む Jakarta Expression Language 式が評価されるときに作成されます。
LambdaExpression は、ELContext と実際の引数のリストを使用して invoke(jakarta.el.ELContext, java.lang.Object...) を呼び出すことで呼び出すことができます。または、ELContext を渡さずに LambdaExpression を呼び出すことができます。その場合、以前に setELContext(jakarta.el.ELContext) を呼び出して設定した ELContext が使用されます。本体の ValueExpression の評価では、ELContext を使用してパラメーターへの参照を解決し、ラムダ式を評価します。評価の結果が返されます。
コンストラクターの概要
コンストラクターコンストラクター説明LambdaExpression(ListSE<StringSE> formalParameters, ValueExpression expression) 新しい LambdaExpression を作成します。方法の概要
コンストラクターの詳細
LambdaExpression
新しい LambdaExpression を作成します。- パラメーター:
formalParameters- 仮パラメーターを表す文字列のリスト。expression- ボディを表すValueExpression。
メソッドの詳細
setELContext
LambdaExpression の評価に使用する ELContext を設定します。ELContext は、invoke(jakarta.el.ELContext, java.lang.Object...)で提供されない限り、LambdaExpression の呼び出しの前に設定する必要があります。- パラメーター:
context- LambdaExpression の評価に使用する ELContext。
invoke
カプセル化された Lambda 式を呼び出します。指定された引数は、同じ順序で、仮パラメーターに一致します。仮パラメーターよりも引数が多い場合、余分な引数は無視されます。仮パラメーターよりも引数が少ない場合、
ELExceptionがスローされます。実際の Lambda 引数は ELContext に追加され、Lambda 式の評価中に使用できます。評価後に削除されます。
- パラメーター:
elContext- 式の評価に使用される ELContextsetELContext(jakarta.el.ELContext)によって設定された ELContext は無視されます。args- Lambda 式を呼び出すための引数。引数のない呼び出しの場合、空の配列を提供する必要があります。Lambda 引数はnullにすることができます。- 戻り値:
- Lambda 式を呼び出した結果
- 例外:
ELException- 十分な引数が提供されない場合NullPointerExceptionSE- elContext は null です
invoke
カプセル化された Lambda 式を呼び出します。指定された引数は、同じ順序で、仮パラメーターに一致します。仮パラメーターよりも引数が多い場合、余分な引数は無視されます。仮パラメーターよりも引数が少ない場合、
ELExceptionがスローされます。実際の Lambda 引数は ELContext に追加され、Lambda 式の評価中に使用できます。評価後に削除されます。
setELContext(jakarta.el.ELContext)によって設定された ELContext は、ラムダ式の評価に使用されます。- パラメーター:
args- Lambda 式を呼び出すための引数。引数のない呼び出しの場合、空の配列を提供する必要があります。Lambda 引数はnullにすることができます。- 戻り値:
- Lambda 式を呼び出した結果
- 例外:
ELException- 十分な引数が提供されない場合