クラス UISelectMany
- java.lang.ObjectSE
-
- jakarta.faces.component.UIComponent
-
- jakarta.faces.component.UIComponentBase
-
- jakarta.faces.component.UIOutput
-
- jakarta.faces.component.UIInput
-
- jakarta.faces.component.UISelectMany
- 実装されているすべてのインターフェース:
EditableValueHolder、PartialStateHolder、StateHolder、TransientStateHolder、ValueHolder、ComponentSystemEventListener、FacesListener、SystemEventListenerHolder、EventListenerSE
public class UISelectMany extends UIInput
UISelectMany は
UIComponentであり、利用可能なオプションの個別のセットの中から 0 個以上のアイテムをユーザーが選択したことを表します。ユーザーは選択した値を変更できます。オプションで、コンポーネントのvalueプロパティに配列またはCollectionとして格納することにより、現在選択されている 0 個以上のアイテムを使用してコンポーネントを事前構成できます。このコンポーネントは通常、選択ボックスまたはチェックボックスのグループとしてレンダリングされます。
デフォルトでは、
rendererTypeプロパティを "jakarta.faces.Listbox" に設定する必要があります。この値は、setRendererType()メソッドを呼び出すことで変更できます。このコンポーネントの
Rendererは、getConvertedValue()で次のロジックを実行する必要があります。次のアルゴリズムを使用して
Converterを取得します。コンポーネントに
Converterが接続されている場合は、それを使用します。そうでない場合は、
valueのValueExpressionを探します(存在する場合)。ValueExpressionは、次のようなものを指している必要があります。何らかの理由で
Converterが見つからない場合は、型を文字列配列と見なします。選択された
Converter(存在する場合) を使用して、リクエストからの値配列の各要素を適切な型に変換し、各変換の結果を、説明のために targetForConvertedValues と呼ばれるデータ構造に格納します。次のアルゴリズムを使用して targetForConvertedValues を作成します。コンポーネントに
valueのValueExpressionがあり、式の型が配列である場合、targetForConvertedValues は予想される型の新しい配列になります。コンポーネントに
valueのValueExpressionがある場合、modelType を値式の型とします。modelType がCollectionの場合、次の操作を実行して targetForConvertedValues に到達します。コンポーネントに、キー "
collectionType" の属性を問い合わせます (引用符は不要)。そのキーの値がある場合、その値は完全修飾 Java クラス名である String、Classオブジェクト、または String またはClassに評価されるValueExpressionである必要があります。いずれの場合も、値はCollectionを実装するクラスの具象型を識別するために使用されます。説明上、これを collectionType と呼びます。targetForConvertedValues を、collectionType で指定された具象クラスによって実装されたCollectionの新しいインスタンスとします。collectionType が見つからない場合、または collectionType で指定された具象クラスによって実装されたCollectionのインスタンスを作成できない場合は、正しくローカライズされたエラーメッセージとともにFacesExceptionをスローします。ConverterExceptionではなくFacesExceptionがスローされることに注意してください。これは、このケースがエンドユーザエラーではなく開発者エラーによってのみ発生するためです。"
collectionType" 属性がない場合は、コンポーネントでgetValue()を呼び出します。結果はCollectionを実装します。結果がCloneableも実装する場合は、targetForConvertedValues をそのclone()メソッドを呼び出した結果とし、次に複製されたCollectionでclear()を呼び出します。何らかの理由で値を複製できない場合は、メッセージをログに記録して次の手順に進みます。modelType が具象クラスである場合、targetForConvertedValues はそのクラスの新しいインスタンスになります。それ以外の場合、targetForConvertedValues の具象型は次の表から取得されます。すべてのクラスは
java.utilパッケージにあります。すべてのコレクションは、リクエストからの値配列の長さに等しい初期容量で作成する必要があります。modelType から targetForConvertedValues へのマッピング modelType が targetForConvertedValues は次のインスタンスである必要があります SortedSetTreeSetQueueLinkedListSetHashSet他に何か ArrayList
コンポーネントに
valueのValueExpressionがない場合、targetForConvertedValues はObject型の配列になります。
変換された値を入力して targetForConvertedValues を返します。
フィールドのサマリー
フィールド 修飾子と型 フィールド 説明 static StringSECOMPONENT_FAMILYこのコンポーネントの標準コンポーネントファミリ。static StringSECOMPONENT_TYPEこのコンポーネントの標準コンポーネント型。static StringSEINVALID_MESSAGE_ID使用可能なオプションと一致しない値が指定された場合に作成されるFacesMessageのメッセージ ID。クラス jakarta.faces.component.UIInput から継承されたフィールド
ALWAYS_PERFORM_VALIDATION_WHEN_REQUIRED_IS_TRUE, CONVERSION_MESSAGE_ID, EMPTY_STRING_AS_NULL_PARAM_NAME, REQUIRED_MESSAGE_ID, UPDATE_MESSAGE_ID, VALIDATE_EMPTY_FIELDS_PARAM_NAME
クラス jakarta.faces.component.UIComponent から継承されたフィールド
ATTRS_WITH_DECLARED_DEFAULT_VALUES, BEANINFO_KEY, bindings, COMPOSITE_COMPONENT_TYPE_KEY, COMPOSITE_FACET_NAME, FACETS_KEY, VIEW_LOCATION_KEY
コンストラクターの概要
コンストラクター コンストラクター 説明 UISelectMany()デフォルトのプロパティ値で新しいUISelectManyインスタンスを作成します。
方法の概要
すべてのメソッド インスタンスメソッド 具象メソッド 修飾子と型 メソッド 説明 protected booleancompareValues(ObjectSE previous, ObjectSE value)新しい値が前の値と異なる場合は、trueを返します。StringSEgetFamily()このコンポーネントが属するコンポーネントファミリの識別子を返します。ObjectSE[]getSelectedValues()現在選択されている値を返します。現在選択されている値がない場合はnullを返します。ObjectSEgetSubmittedValue()このUIInputコンポーネントの submittedValue 値を返します。ValueExpressiongetValueExpression(StringSE name)selectedValuesのValueExpressionがリクエストされた場合、valueに設定されたValueExpressionを返します。それ以外の場合は、このメソッドのデフォルトのスーパークラス処理を実行します。voidsetSelectedValues(ObjectSE[] selectedValues)現在選択されている値を設定するか、nullを設定して、現在選択されている値がないことを示します。voidsetSubmittedValue(ObjectSE submittedValue)このUIInputコンポーネントの submittedValue 値を設定します。voidsetValueExpression(StringSE name, ValueExpression binding)protected voidvalidateValue(FacesContext context, ObjectSE value)UIInputから継承された標準的な検証動作に加えて、任意の指定された値は、利用可能なオプションの 1 に等しいことを確認してください。クラス jakarta.faces.component.UIInput から継承されたメソッド
addValidator, addValueChangeListener, clearInitialState, decode, getConvertedValue, getConverterMessage, getRequiredMessage, getValidatorMessage, getValidators, getValue, getValueChangeListeners, isEmpty, isImmediate, isLocalValueSet, isRequired, isValid, markInitialState, processDecodes, processUpdates, processValidators, removeValidator, removeValueChangeListener, resetValue, restoreState, saveState, setConverterMessage, setImmediate, setLocalValueSet, setRequired, setRequiredMessage, setValid, setValidatorMessage, setValue, updateModel, validate
クラス jakarta.faces.component.UIOutput から継承されたメソッド
getConverter, getLocalValue, setConverter
クラス jakarta.faces.component.UIComponentBase から継承されたメソッド
addClientBehavior, addFacesListener, broadcast, encodeBegin, encodeChildren, encodeEnd, findComponent, getAttributes, getChildCount, getChildren, getClientBehaviors, getClientId, getDefaultEventName, getEventNames, getFacesContext, getFacesListeners, getFacet, getFacetCount, getFacets, getFacetsAndChildren, getId, getListenersForEventClass, getParent, getPassThroughAttributes, getRenderer, getRendererType, getRendersChildren, invokeOnComponent, isRendered, isTransient, processRestoreState, processSaveState, queueEvent, removeFacesListener, restoreAttachedState, saveAttachedState, setId, setParent, setRendered, setRendererType, setTransient, subscribeToEvent, unsubscribeFromEvent
クラス jakarta.faces.component.UIComponent から継承されたメソッド
encodeAll, getClientId, getCompositeComponentParent, getContainerClientId, getCurrentComponent, getCurrentCompositeComponent, getNamingContainer, getPassThroughAttributes, getResourceBundleMap, getStateHelper, getStateHelper, getTransientStateHelper, getTransientStateHelper, initialStateMarked, isCompositeComponent, isInView, isVisitable, popComponentFromEL, processEvent, pushComponentToEL, restoreTransientState, saveTransientState, setInView, visitTree
クラス java.lang.ObjectSE から継承されたメソッド
clone, equalsSE, finalize, getClass, hashCode, notify, notifyAll, toString, wait, waitSE, waitSE
インターフェース jakarta.faces.component.ValueHolder から継承されたメソッド
getConverter, getLocalValue, setConverter
フィールドの詳細
COMPONENT_FAMILY
public static final StringSE COMPONENT_FAMILY
このコンポーネントの標準コンポーネントファミリ。
- 関連事項:
- 定数フィールド値
INVALID_MESSAGE_ID
public static final StringSE INVALID_MESSAGE_ID
使用可能なオプションと一致しない値が指定された場合に作成される
FacesMessageのメッセージ ID。- 関連事項:
- 定数フィールド値
コンストラクターの詳細
UISelectMany
public UISelectMany()
デフォルトのプロパティ値で新しい
UISelectManyインスタンスを作成します。
メソッドの詳細
getFamily
public StringSE getFamily()
クラスからコピーされた説明:UIComponentこのコンポーネントが属するコンポーネントファミリの識別子を返します。この識別子は、
rendererTypeプロパティの値と組み合わせて、このコンポーネントインスタンスに適切なRendererを選択するために使用できます。このメソッドはnullを返すべきではないことに注意してください
getSubmittedValue
public ObjectSE getSubmittedValue()
クラスからコピーされた説明:UIInputこの
UIInputコンポーネントの submittedValue 値を返します。このメソッドは、このコンポーネントのdecode()およびvalidate()メソッド、または対応するRendererでのみ使用する必要があります。- 次で指定:
- インターフェース
EditableValueHolderのgetSubmittedValue - オーバーライド:
- クラス
UIInputのgetSubmittedValue - 戻り値:
- 送信された値。
setSubmittedValue
public void setSubmittedValue(ObjectSE submittedValue)
クラスからコピーされた説明:UIInputこの
UIInputコンポーネントの submittedValue 値を設定します。このメソッドは、このコンポーネントのdecode()およびvalidate()メソッド、または対応するRendererでのみ使用する必要があります。- 次で指定:
- インターフェース
EditableValueHolderのsetSubmittedValue - オーバーライド:
- クラス
UIInputのsetSubmittedValue - パラメーター:
submittedValue- 新しく送信された値
getSelectedValues
public ObjectSE[] getSelectedValues()
現在選択されている値を返します。現在選択されている値がない場合は
nullを返します。これは、getValue()の型安全なエイリアスです。- 戻り値:
- 選択した値、または
null。
setSelectedValues
public void setSelectedValues(ObjectSE[] selectedValues)
現在選択されている値を設定するか、
nullを設定して、現在選択されている値がないことを示します。これは、setValue()の型安全なエイリアスです。- パラメーター:
selectedValues- 新しく選択された値 (もしあれば)
getValueExpression
public ValueExpression getValueExpression(StringSE name)
selectedValuesのValueExpressionがリクエストされた場合、valueに設定されたValueExpressionを返します。それ以外の場合は、このメソッドのデフォルトのスーパークラス処理を実行します。- オーバーライド:
- クラス
UIComponentのgetValueExpression - パラメーター:
name-ValueExpressionを取得する属性またはプロパティの名前- 戻り値:
- 値式、または
null。 - 例外:
NullPointerExceptionSE-nameがnullの場合- 導入:
- 1.2
setValueExpression
public void setValueExpression(StringSE name, ValueExpression binding)
代わりに、
selectedValuesに指定されたValueExpressionをvalueに保存します。それ以外の場合は、このメソッドのデフォルトのスーパークラス処理を実行します。- オーバーライド:
- クラス
UIComponentのsetValueExpression - パラメーター:
name-ValueExpressionを設定する属性またはプロパティの名前binding- 設定するValueExpression、または現在設定されているValueExpressionを削除するnull- 例外:
NullPointerExceptionSE-nameがnullの場合- 導入:
- 1.2
compareValues
protected boolean compareValues(ObjectSE previous, ObjectSE value)
新しい値が前の値と異なる場合は、
trueを返します。値の比較は、要素の順序に敏感であってはなりません。- オーバーライド:
- クラス
UIInputのcompareValues - パラメーター:
previous- このコンポーネントの古い値value- このコンポーネントの新しい値- 戻り値:
- 新しい値が前の値と異なる場合は
true、それ以外の場合はfalse。
validateValue
protected void validateValue(FacesContext context, ObjectSE value)
UIInputから継承された標準的な検証動作に加えて、任意の指定された値は、利用可能なオプションの 1 に等しいことを確認してください。各オプションを比較する前に、式言語の強制規則に従って、オプションの値の型をこのコンポーネントの値の型に強制変換します。指定された値がどのオプションとも等しくない場合は、エラーメッセージをキューに入れ、validプロパティをfalseに設定します。このメソッドは、単一の値である値引数、または
Collectionまたは値の配列である値引数を明示的にサポートする必要があります。UIInput.isRequired()がtrueを返し、現在の値がUISelectItem.isNoSelectionOption()メソッドがtrueを返す内部UISelectItemの値と等しい場合は、エラーメッセージをキューに入れ、validプロパティをfalseに設定します。- オーバーライド:
- クラス
UIInputのvalidateValue - パラメーター:
context- 現在のリクエストのFacesContextvalue- メンバーシップをテストするために変換された値。- 例外:
NullPointerExceptionSE-contextがnullの場合