クラス 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 は次のインスタンスである必要があります SortedSet
TreeSet
Queue
LinkedList
Set
HashSet
他に何か ArrayList
コンポーネントに
value
のValueExpression
がない場合、targetForConvertedValues はObject
型の配列になります。
変換された値を入力して targetForConvertedValues を返します。
フィールドサマリー
フィールド 修飾子と型 フィールド 説明 static StringSE
COMPONENT_FAMILY
このコンポーネントの標準コンポーネントファミリ。static StringSE
COMPONENT_TYPE
このコンポーネントの標準コンポーネント型。static StringSE
INVALID_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 boolean
compareValues(ObjectSE previous, ObjectSE value)
新しい値が前の値と異なる場合は、true
を返します。StringSE
getFamily()
このコンポーネントが属するコンポーネントファミリの識別子を返します。ObjectSE[]
getSelectedValues()
現在選択されている値を返します。現在選択されている値がない場合はnull
を返します。ObjectSE
getSubmittedValue()
このUIInput
コンポーネントの submittedValue 値を返します。ValueExpression
getValueExpression(StringSE name)
selectedValues
のValueExpression
がリクエストされた場合、value
に設定されたValueExpression
を返します。それ以外の場合は、このメソッドのデフォルトのスーパークラス処理を実行します。void
setSelectedValues(ObjectSE[] selectedValues)
現在選択されている値を設定するか、null
を設定して、現在選択されている値がないことを示します。void
setSubmittedValue(ObjectSE submittedValue)
このUIInput
コンポーネントの submittedValue 値を設定します。void
setValueExpression(StringSE name, ValueExpression binding)
protected void
validateValue(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
- 現在のリクエストのFacesContext
value
- メンバーシップをテストするために変換された値。- 例外:
NullPointerExceptionSE
-context
がnull
の場合