public class ArrayELResolver extends ELResolver
このリゾルバーは、Java 言語配列である基本オブジェクトを処理します。プロパティとして任意のオブジェクトを受け入れ、そのオブジェクトを配列への整数インデックスに強制変換します。結果の値は、そのインデックスにある配列の値です。
このリゾルバーは読み取り専用モードで構築できます。つまり、isReadOnly
は常に true
を返し、setValue(javax.el.ELContext, java.lang.Object, java.lang.Object, java.lang.Object)
は常に PropertyNotWritableException
をスローします。
ELResolver
は CompositeELResolver
を使用して組み合わされ、式を評価するための豊富なセマンティクスを定義します。詳細については、ELResolver
の javadoc を参照してください。
CompositeELResolver
, ELResolver
RESOLVABLE_AT_DESIGN_TIME, TYPE
コンストラクターと説明 |
---|
ArrayELResolver() 新しい読み取り / 書き込み ArrayELResolver を作成します。 |
ArrayELResolver(boolean isReadOnly) 指定されたパラメーターによって読み取り専用ステータスが決定される新しい ArrayELResolver を作成します。 |
修飾子と型 | メソッドと説明 |
---|---|
ClassSE<?> | getCommonPropertyType(ELContext context, ObjectSE base) 基本オブジェクトが Java 言語配列の場合、このリゾルバーが property 引数として受け入れる最も一般的な型を返します。 |
IteratorSE<FeatureDescriptorSE> | getFeatureDescriptors(ELContext context, ObjectSE base) すべての整数のセットセットを反復処理する理由がないため、常に null を返します。 |
ClassSE<?> | getType(ELContext context, ObjectSE base, ObjectSE property) 基本オブジェクトが配列の場合、この配列の値の最も一般的に受け入れ可能な型を返します。 |
ObjectSE | getValue(ELContext context, ObjectSE base, ObjectSE property) 基本オブジェクトが Java 言語配列の場合、指定されたインデックスの値を返します。 |
boolean | isReadOnly(ELContext context, ObjectSE base, ObjectSE property) 基本オブジェクトが Java 言語配列の場合、 setValue(javax.el.ELContext, java.lang.Object, java.lang.Object, java.lang.Object) の呼び出しが常に失敗するかどうかを返します。 |
void | setValue(ELContext context, ObjectSE base, ObjectSE property, ObjectSE val) 基本オブジェクトが Java 言語配列の場合、指定されたインデックスの値に指定された値を設定しようとします。 |
convertToType, invoke
cloneSE, equalsSE, finalizeSE, getClassSE, hashCodeSE, notifySE, notifyAllSE, toStringSE, waitSE, waitSE, waitSE
public ArrayELResolver()
ArrayELResolver
を作成します。public ArrayELResolver(boolean isReadOnly)
ArrayELResolver
を作成します。isReadOnly
- このリゾルバーが配列を変更できない場合は true
。それ以外の場合は false
。public ClassSE<?> getType(ELContext context, ObjectSE base, ObjectSE property)
ベースが array
の場合、戻る前に、このリゾルバーによって ELContext
オブジェクトの propertyResolved
プロパティを true
に設定する必要があります。このメソッドが呼び出された後、このプロパティが true
でない場合、呼び出し元は戻り値を無視する必要があります。
ベースが array
であると仮定すると、このメソッドは常に base.getClass().getComponentType()
を返します。これは、配列の任意のインデックスに格納できる最も一般的な型のコンポーネントです。
ELResolver
の getType
context
- この評価のコンテキスト。base
- 分析する配列。このリゾルバーによって処理されるのは、Java 言語配列であるベースのみです。property
- 受け入れ可能な型を返す配列内の要素のインデックス。整数に強制変換されますが、それ以外の場合はこのリゾルバーによって無視されます。ELContext
の propertyResolved
プロパティが true
に設定されている場合、最も一般的な受け入れ可能な型。それ以外は未定義。PropertyNotFoundException
- 指定されたインデックスがこの配列の範囲外の場合。NullPointerExceptionSE
- コンテキストが null
の場合 ELException
- プロパティまたは変数の解決の実行中に例外がスローされた場合。スローされた例外は、可能であれば、この例外の原因プロパティとして含める必要があります。public ObjectSE getValue(ELContext context, ObjectSE base, ObjectSE property)
property
引数で指定され、整数に強制変換されます。強制が実行できなかった場合、IllegalArgumentException
がスローされます。インデックスが範囲外の場合、null
が返されます。 ベースが Java 言語配列の場合、戻る前に、このリゾルバーによって ELContext
オブジェクトの propertyResolved
プロパティを true
に設定する必要があります。このメソッドが呼び出された後、このプロパティが true
でない場合、呼び出し元は戻り値を無視する必要があります。
ELResolver
の getValue
context
- この評価のコンテキスト。base
- 分析する配列。このリゾルバーによって処理されるのは、Java 言語配列であるベースのみです。property
- 返される値のインデックス。整数に強制変換されます。ELContext
の propertyResolved
プロパティが true
に設定されている場合、指定されたインデックスの値、インデックスが範囲外の場合は null
。それ以外の場合、未定義です。IllegalArgumentExceptionSE
- プロパティを整数に強制変換できない場合。NullPointerExceptionSE
- コンテキストが null
の場合。ELException
- プロパティまたは変数の解決の実行中に例外がスローされた場合。スローされた例外は、可能であれば、この例外の原因プロパティとして含める必要があります。public void setValue(ELContext context, ObjectSE base, ObjectSE property, ObjectSE val)
property
引数で指定され、整数に強制変換されます。強制が実行できなかった場合、IllegalArgumentException
がスローされます。インデックスが範囲外の場合、PropertyNotFoundException
がスローされます。 ベースが Java 言語配列の場合、戻る前に、このリゾルバーによって ELContext
オブジェクトの propertyResolved
プロパティを true
に設定する必要があります。このメソッドが呼び出された後、このプロパティが true
でない場合、呼び出し元は値が設定されていないと安全に想定できます。
このリゾルバーが読み取り専用モードで作成された場合、このメソッドは常に PropertyNotWritableException
をスローします。
ELResolver
の setValue
context
- この評価のコンテキスト。base
- 変更する配列。このリゾルバーによって処理されるのは、Java 言語配列であるベースのみです。property
- 設定する値のインデックス。整数に強制変換されます。val
- 指定されたインデックスに設定される値。ClassCastExceptionSE
- 指定された要素のクラスにより、その要素がこの配列に追加されない場合。NullPointerExceptionSE
- コンテキストが null
の場合。IllegalArgumentExceptionSE
- プロパティを整数に強制変換できなかった場合、または指定された要素の何らかの側面により、プロパティがこの配列に追加されない場合。PropertyNotWritableException
- このリゾルバーが読み取り専用モードで構築されている場合。PropertyNotFoundException
- 指定されたインデックスがこの配列の範囲外の場合。ELException
- プロパティまたは変数の解決の実行中に例外がスローされた場合。スローされた例外は、可能であれば、この例外の原因プロパティとして含める必要があります。public boolean isReadOnly(ELContext context, ObjectSE base, ObjectSE property)
setValue(javax.el.ELContext, java.lang.Object, java.lang.Object, java.lang.Object)
の呼び出しが常に失敗するかどうかを返します。 ベースが Java 言語配列の場合、戻る前に、このリゾルバーによって ELContext
オブジェクトの propertyResolved
プロパティを true
に設定する必要があります。このメソッドが呼び出された後、このプロパティが true
でない場合、呼び出し元は戻り値を無視する必要があります。
このリゾルバーが読み取り専用モードで構築されている場合、このメソッドは常に true
を返します。それ以外の場合は、false
を返します。
ELResolver
の isReadOnly
context
- この評価のコンテキスト。base
- 分析する配列。このリゾルバーによって処理されるのは、Java 言語配列であるベースのみです。property
- 受け入れ可能な型を返す配列内の要素のインデックス。整数に強制変換されますが、それ以外の場合はこのリゾルバーによって無視されます。ELContext
の propertyResolved
プロパティが true
に設定されている場合、setValue
メソッドの呼び出しが常に失敗する場合は true
、そのような呼び出しが成功する可能性がある場合は false
。それ以外は未定義。PropertyNotFoundException
- 指定されたインデックスがこの配列の範囲外の場合。NullPointerExceptionSE
- コンテキストが null
の場合 ELException
- プロパティまたは変数の解決の実行中に例外がスローされた場合。スローされた例外は、可能であれば、この例外の原因プロパティとして含める必要があります。public IteratorSE<FeatureDescriptorSE> getFeatureDescriptors(ELContext context, ObjectSE base)
null
を返します。getCommonPropertyType(javax.el.ELContext, java.lang.Object)
メソッドは、このリゾルバーが受け入れるプロパティに関する十分な情報を返します。
ELResolver
の getFeatureDescriptors
context
- この評価のコンテキスト。base
- 分析する配列。このリゾルバーによって処理されるのは、Java 言語配列であるベースのみです。null
.FeatureDescriptor
SEpublic ClassSE<?> getCommonPropertyType(ELContext context, ObjectSE base)
property
引数に対して受け入れる最も一般的な型を返します。それ以外の場合は、null
を返します。 ベースが配列であると仮定すると、このメソッドは常に Integer.class
を返します。これは、配列がインデックスに整数を受け入れるためです。
ELResolver
の getCommonPropertyType
context
- この評価のコンテキスト。base
- 分析する配列。このリゾルバーによって処理されるのは、Java 言語配列であるベースのみです。null
。それ以外の場合は Integer.class
。Copyright © 2019 Eclipse Foundation.
Use is subject to license terms.