public class UIInput extends UIOutput implements EditableValueHolder
UIInput は UIComponent であり、ユーザーに出力を表示するコンポーネント(UIOutput コンポーネントのように)と、デコードする必要がある後続のリクエストでリクエストパラメーターを処理するコンポーネントの両方を表します。ローカル値のデータ型、または値バインディング式(存在する場合)によって参照されるオブジェクトに制限はありません。ただし、個々の Renderer は通常、表示方法がわかっているデータの型に制限を課します。
リクエスト処理ライフサイクルのリクエスト値の適用フェーズ中に、このコンポーネントのデコードされた値は、通常は文字列である必要はありませんが、setSubmittedValue() を使用して保存する必要がありますが、まだ変換されていません。コンポーネントが特定の値が送信されなかったことを示す場合は、何も実行しないか、送信された値を null に設定できます。
デフォルトでは、リクエスト処理ライフサイクルのプロセスバリデーターフェーズ中に、送信された値は型安全オブジェクトに変換され、検証が成功した場合、setValue() を使用してローカル値として保存されます。ただし、immediate プロパティが true に設定されている場合、この処理は代わりにリクエスト値の適用フェーズの最後に行われます。
リクエスト処理ライフサイクルのレスポンスのレンダリングフェーズ中に、出力の変換が UIOutput の場合と同様に行われます。
この UIInput の validate() メソッドは、値の変更が実際に発生し、すべての検証が正常に渡されたことを検出すると、ValueChangeEvent をキューに入れます。その後、broadcast() メソッドは、このイベントがすべての関係するリスナーに確実にブロードキャストされるようにします。このイベントは、デフォルトでプロセス検証プロセスで配信されますが、immediate プロパティが true に設定されている場合は、リクエスト値の適用中に代わりに配信できます。検証が失敗した場合、実装は FacesContext.validationFailed() を呼び出す必要があります。
デフォルトでは、rendererType プロパティを "Text" に設定する必要があります。この値は、setRendererType() メソッドを呼び出すことで変更できます。
| 修飾子と型 | フィールドと説明 |
|---|---|
static StringSE | ALWAYS_PERFORM_VALIDATION_WHEN_REQUIRED_IS_TRUEこのパラメーターが設定されており、その値のストリング表現で toLowerCase().equals("true" )を呼び出すと true が返される場合、受信リクエストにこのコンポーネントに対応する値がない場合でも検証を実行する必要があります。 |
static StringSE | COMPONENT_FAMILY このコンポーネントの標準コンポーネントファミリ。 |
static StringSE | COMPONENT_TYPE このコンポーネントの標準コンポーネント型。 |
static StringSE | CONVERSION_MESSAGE_ID 変換エラーが発生し、ページの作成者も ConverterException もメッセージを提供しない場合に作成される FacesMessage のメッセージ識別子。 |
static StringSE | EMPTY_STRING_AS_NULL_PARAM_NAME空の文字列をどのように解釈する必要があるかを示すコンテキストパラメーターの名前。 |
static StringSE | REQUIRED_MESSAGE_ID 必要なチェックが失敗した場合に作成される FacesMessage のメッセージ識別子。 |
static StringSE | UPDATE_MESSAGE_ID モデル更新エラーが発生し、スローされた例外にメッセージがない場合に作成される FacesMessage のメッセージ識別子。 |
static StringSE | VALIDATE_EMPTY_FIELDS_PARAM_NAME検証に関して空の値を処理する方法を示すコンテキストパラメーターの名前。 |
ATTRS_WITH_DECLARED_DEFAULT_VALUES, BEANINFO_KEY, bindings, COMPOSITE_COMPONENT_TYPE_KEY, COMPOSITE_FACET_NAME, CURRENT_COMPONENT, CURRENT_COMPOSITE_COMPONENT, FACETS_KEY, HONOR_CURRENT_COMPONENT_ATTRIBUTES_PARAM_NAME, VIEW_LOCATION_KEY| 修飾子と型 | メソッドと説明 |
|---|---|
void | addValidator(Validator validator) |
void | addValueChangeListener(ValueChangeListener listener) 新しい ValueChangeListener を、ValueChangeEvent の発生時に通知を受けることに関心のあるリスナーのセットに追加します。 |
void | clearInitialState()
|
protected boolean | compareValues(ObjectSE previous, ObjectSE value) 新しい値が前の値と異なる場合は、 true を返します。 |
void | decode(FacesContext context) 指定された FacesContext に含まれるリクエストからこの UIComponent の新しい状態をデコードし、必要に応じてこの状態を保存します。 |
protected ObjectSE | getConvertedValue(FacesContext context, ObjectSE newSubmittedValue) 必要に応じて、送信された値を適切なデータ型の「ローカル値」に変換します。 |
StringSE | getConverterMessage() このインスタンスで setConverterMessage(java.lang.String) への呼び出しがあった場合は、メッセージを返します。 |
StringSE | getFamily()このコンポーネントが属するコンポーネントファミリの識別子を返します。 |
StringSE | getRequiredMessage() このインスタンスで setRequiredMessage(java.lang.String) への呼び出しがあった場合は、メッセージを返します。 |
ObjectSE | getSubmittedValue() この UIInput コンポーネントの submittedValue 値を返します。 |
MethodBinding | getValidator() 使用すべきではありません。 代わりに getValidators() を使用する必要があります。 |
StringSE | getValidatorMessage() このインスタンスで setValidatorMessage(java.lang.String) への呼び出しがあった場合は、メッセージを返します。 |
Validator[] | getValidators() |
ObjectSE | getValue() ローカル値がある場合はそれを返し、それ以外の場合は |
MethodBinding | getValueChangeListener() このインスタンスに対して EditableValueHolder.setValueChangeListener(javax.faces.el.MethodBinding) が以前に呼び出されていなかった場合、このメソッドは null を返す必要があります。 |
ValueChangeListener[] | getValueChangeListeners() この UIInput インスタンスに登録されている ValueChangeListener のセットを返します。 |
static boolean | isEmpty(ObjectSE value)空の値を示す値です。 |
boolean | isImmediate() このコンポーネントの「即時」状態を返します。 |
boolean | isLocalValueSet() このコンポーネントの「ローカル値セット」の状態を返します。 |
boolean | isRequired() このコンポーネントの「必須フィールド」の状態を返します。 |
boolean | isValid() このコンポーネントのローカル値が有効かどうかを示すフラグを返します(変換エラーは発生していません)。 |
void | markInitialState()PartialStateHolder.markInitialState() が呼び出されたときに UIOutput で実行されるアクションに加えて、インストールされている Validator のいずれかが PartialStateHolders であるかどうかを確認し、そうである場合は、必要に応じて PartialStateHolder.markInitialState() を呼び出します。 |
void | processDecodes(FacesContext context) スーパークラスによって提供されるものに加えて、特殊なデコード動作。 |
void | processUpdates(FacesContext context) |
void | processValidators(FacesContext context)immediate プロパティが(デフォルトで)false の場合 UIComponentBase から継承された標準 processValidators 動作に加えて、validate() を呼び出します。後でコンポーネントが無効になった場合は、FacesContext.renderResponse() を呼び出します。 |
void | removeValidator(Validator validator) |
void | removeValueChangeListener(ValueChangeListener listener)ValueChangeEvent の発生時に通知を受けることに関心のあるリスナーのセットから既存の ValueChangeListener(存在する場合)を削除します。 |
void | resetValue() このコンポーネントの値を初期化されていない状態にリセットする簡易メソッド。 |
void | restoreState(FacesContext context, ObjectSE state)state オブジェクトのエントリから状態を復元するために必要な処理を実行します。 |
ObjectSE | saveState(FacesContext context) インスタンスの状態を Serializable オブジェクトとして取得します。 |
void | setConverterMessage(StringSE message) このメソッドに提供されたリテラル引数を使用して、"converterMessage" に設定された ValueExpression をオーバーライドします。 |
void | setImmediate(boolean immediate) このコンポーネントの「即時」状態を設定します。 |
void | setLocalValueSet(boolean localValueSet) このコンポーネントの「ローカル値セット」の状態を設定します。 |
void | setRequired(boolean required) このコンポーネントの「必須フィールド」の状態を設定します。 |
void | setRequiredMessage(StringSE message) このメソッドに提供されたリテラル引数を使用して、"requiredMessage" に設定された ValueExpression をオーバーライドします。 |
void | setSubmittedValue(ObjectSE submittedValue) この UIInput コンポーネントの submittedValue 値を設定します。 |
void | setValid(boolean valid) このコンポーネントのローカル値が有効である(変換エラーが発生していない)かどうかを示すフラグを設定します。 |
void | setValidator(MethodBinding validatorBinding) 使用すべきではありません。 代わりに addValidator(javax.faces.validator.Validator) を使用し、MethodExpressionValidator のインスタンスを作成して引数 Validator を取得します。 |
void | setValidatorMessage(StringSE message) このメソッドに提供されたリテラル引数を使用して、"validatorMessage" に設定された ValueExpression をオーバーライドします。 |
void | setValue(ObjectSE value) この UIComponent の値を設定します(ある場合)。 |
void | setValueChangeListener(MethodBinding valueChangeListener) 使用すべきではありません。 代わりに addValueChangeListener(javax.faces.event.ValueChangeListener) を使用し、MethodExpressionValueChangeListener のインスタンスを作成して引数 ValueChangeListener を取得します。 |
void | updateModel(FacesContext context) 次のアルゴリズムを実行して、必要に応じて、この UIInput に関連付けられているモデルデータを更新します。 |
void | validate(FacesContext context) 次のアルゴリズムを実行して、この UIInput のローカル値を検証します。 |
protected void | validateValue(FacesContext context, ObjectSE newValue) 以下のアルゴリズムに従って「有効な」プロパティを設定します。 |
getConverter, getLocalValue, setConverteraddClientBehavior, 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, getValueBinding, invokeOnComponent, isRendered, isTransient, processRestoreState, processSaveState, queueEvent, removeFacesListener, restoreAttachedState, saveAttachedState, setId, setParent, setRendered, setRendererType, setTransient, setValueBinding, subscribeToEvent, unsubscribeFromEventencodeAll, getClientId, getCompositeComponentParent, getContainerClientId, getCurrentComponent, getCurrentCompositeComponent, getNamingContainer, getPassThroughAttributes, getResourceBundleMap, getStateHelper, getStateHelper, getTransientStateHelper, getTransientStateHelper, getValueExpression, initialStateMarked, isCompositeComponent, isInView, isVisitable, popComponentFromEL, processEvent, pushComponentToEL, restoreTransientState, saveTransientState, setInView, setValueExpression, visitTreecloneSE, equalsSE, finalizeSE, getClassSE, hashCodeSE, notifySE, notifyAllSE, toStringSE, waitSE, waitSE, waitSEgetConverter, getLocalValue, setConverterpublic static final StringSE COMPONENT_FAMILY
このコンポーネントの標準コンポーネントファミリ。
public static final StringSE CONVERSION_MESSAGE_ID
変換エラーが発生し、ページの作成者も ConverterException もメッセージを提供しない場合に作成される FacesMessage のメッセージ識別子。
public static final StringSE REQUIRED_MESSAGE_ID
必要なチェックが失敗した場合に作成される FacesMessage のメッセージ識別子。
public static final StringSE UPDATE_MESSAGE_ID
モデル更新エラーが発生し、スローされた例外にメッセージがない場合に作成される FacesMessage のメッセージ識別子。
public static final StringSE VALIDATE_EMPTY_FIELDS_PARAM_NAME
検証に関して空の値を処理する方法を示すコンテキストパラメーターの名前。許容値とそれらの解釈方法の仕様については、validateValue(javax.faces.context.FacesContext, java.lang.Object) を参照してください。
public static final StringSE EMPTY_STRING_AS_NULL_PARAM_NAME
空の文字列をどのように解釈する必要があるかを示すコンテキストパラメーターの名前。
public static final StringSE ALWAYS_PERFORM_VALIDATION_WHEN_REQUIRED_IS_TRUE
このパラメーターが設定されていて、その値のストリング表現で toLowerCase().equals("true" )を呼び出すと true が返される場合、受信リクエストにこのコンポーネントに対応する値がない場合でも検証を実行する必要があります。validate(javax.faces.context.FacesContext) を参照してください。
public UIInput()
デフォルトのプロパティ値で新しい UIInput インスタンスを作成します。
public StringSE getFamily()
UIComponent このコンポーネントが属するコンポーネントファミリの識別子を返します。この識別子は、rendererType プロパティの値と組み合わせて、このコンポーネントインスタンスに適切な Renderer を選択するために使用できます。このメソッドは null を返すべきではないことに注意してください
public ObjectSE getSubmittedValue()
この UIInput コンポーネントの submittedValue 値を返します。このメソッドは、このコンポーネントの decode() および validate() メソッド、または対応する Renderer でのみ使用する必要があります。
EditableValueHolder の getSubmittedValue public void setSubmittedValue(ObjectSE submittedValue)
この UIInput コンポーネントの submittedValue 値を設定します。このメソッドは、このコンポーネントの decode() および validate() メソッド、または対応する Renderer でのみ使用する必要があります。
EditableValueHolder の setSubmittedValue submittedValue - 新しく送信された値 public ObjectSE getValue()
ローカル値がある場合はそれを返し、それ以外の場合は super.getVaue() の呼び出し結果を返します。
ValueHolder の getValue UIOutput の getValue public void setValue(ObjectSE value)
ValueHolder この UIComponent の値を設定します(ある場合)。
ValueHolder の setValue UIOutput の setValue value - 新しいローカル値 public void resetValue()
このコンポーネントの値を初期化されていない状態にリセットする簡易メソッド。このメソッドは次のことを行います。
UIOutput.setValue(java.lang.Object) を呼び出します。
null を渡して setSubmittedValue(java.lang.Object) を呼び出します。
プロパティ localValueSet の状態をクリアします。
プロパティ valid の状態をクリアします。
この呼び出しから戻ったときに、インスタンスに "value" プロパティの ValueBinding が関連付けられている場合、このバインディングは UIOutput.getValue() が呼び出されたときに評価されます。それ以外の場合、getValue() から null が返されます。
EditableValueHolder の resetValue UIOutput の resetValue public boolean isLocalValueSet()
setValue() を呼び出すと、このプロパティは true に自動的にリセットされます。EditableValueHolder の isLocalValueSet true、それ以外の場合は false。public void setLocalValueSet(boolean localValueSet)
EditableValueHolder の setLocalValueSet localValueSet - 「ローカル値セット」ブール値。public boolean isRequired()
このコンポーネントの「必須フィールド」の状態を返します。
EditableValueHolder の isRequired true、それ以外の場合は false。public StringSE getRequiredMessage()
このインスタンスで setRequiredMessage(java.lang.String) が呼び出された場合は、メッセージを返します。それ以外の場合は、キー "requiredMessage" を渡して UIComponent.getValueExpression(java.lang.String) を呼び出し、式の結果を取得して返します。getValue() の呼び出し中にスローされた ELException はすべて、FacesException にラップして再スローする必要があります。
public void setRequiredMessage(StringSE message)
このメソッドに提供されたリテラル引数を使用して、"requiredMessage" に設定された ValueExpression を上書きします。getRequiredMessage() への後続の呼び出しでは、この値が返されます。
message - ユーザーが値を指定しておらず、値が必要な場合に表示されるリテラルメッセージ値。public StringSE getConverterMessage()
このインスタンスで setConverterMessage(java.lang.String) が呼び出された場合は、メッセージを返します。それ以外の場合は、キー "converterMessage" を渡して UIComponent.getValueExpression(java.lang.String) を呼び出し、式の結果を取得して返します。getValue() の呼び出し中にスローされた ELException はすべて、FacesException にラップして再スローする必要があります。
public void setConverterMessage(StringSE message)
このメソッドに提供されたリテラル引数を使用して、"converterMessage" に設定された ValueExpression を上書きします。getConverterMessage() への後続の呼び出しでは、この値が返されます。
message - イベント変換で表示されるリテラルメッセージ値は失敗します。public StringSE getValidatorMessage()
このインスタンスで setValidatorMessage(java.lang.String) が呼び出された場合は、メッセージを返します。それ以外の場合は、キー "validatorMessage" を渡して UIComponent.getValueExpression(java.lang.String) を呼び出し、式の結果を取得して返します。getValue() の呼び出し中にスローされた ELException はすべて、FacesException にラップして再スローする必要があります。
public void setValidatorMessage(StringSE message)
このメソッドに提供されたリテラル引数を使用して、"validatorMessage" に設定された ValueExpression を上書きします。getValidatorMessage() への後続の呼び出しでは、この値が返されます。
message - イベント検証で表示されるリテラルメッセージ値は失敗します。public boolean isValid()
EditableValueHolderこのコンポーネントのローカル値が有効かどうかを示すフラグを返します(変換エラーは発生していません)。
EditableValueHolder の isValid true、それ以外の場合は false。public void setValid(boolean valid)
EditableValueHolderこのコンポーネントのローカル値が有効である(変換エラーが発生していない)かどうかを示すフラグを設定します。
EditableValueHolder の setValid valid - 新しい有効なフラグ public void setRequired(boolean required)
このコンポーネントの「必須フィールド」の状態を設定します。
EditableValueHolder の setRequired required - 新しい「必須フィールド」状態 public boolean isImmediate()
EditableValueHolderこのコンポーネントの「即時」状態を返します。
EditableValueHolder の isImmediate true、それ以外の場合は false。public void setImmediate(boolean immediate)
EditableValueHolder このコンポーネントの「即時」状態を設定します。true に設定すると、コンポーネントの値は、リクエスト値の適用フェーズですぐに変換および検証され、ValueChangeEvent もそのフェーズで配信されます。このプロパティのデフォルト値は false である必要があります。
EditableValueHolder の setImmediate immediate - 新しい「即時」状態 public MethodBinding getValidator()
getValidators() を使用してください。 このコンポーネントの現在の値を検証するために、リクエスト処理ライフサイクルのプロセス検証フェーズ中に呼び出されるメソッドを指す MethodBinding を返します。
EditableValueHolder の getValidator public void setValidator(MethodBinding validatorBinding)
addValidator(javax.faces.validator.Validator) を使用し、MethodExpressionValidator のインスタンスを作成して引数 Validator を取得します。 このコンポーネントの現在の値を検証するために、リクエスト処理ライフサイクルのプロセス検証フェーズ中に呼び出されるメソッドを指す MethodBinding を設定します。
このような式で参照されるメソッドはすべて、戻り値の型が void のパブリックであり、型 FacesContext、UIComponent、Object のパラメーターを受け入れる必要があります。
EditableValueHolder の setValidator validatorBinding - 新しい MethodBinding インスタンス public MethodBinding getValueChangeListener()
EditableValueHolder このインスタンスに対して EditableValueHolder.setValueChangeListener(javax.faces.el.MethodBinding) が以前に呼び出されていなかった場合、このメソッドは null を返す必要があります。呼び出された場合、このメソッドは EditableValueHolder.setValueChangeListener(javax.faces.el.MethodBinding) に渡された正確な MethodBinding インスタンスを返す必要があります。
EditableValueHolder の getValueChangeListener public void setValueChangeListener(MethodBinding valueChangeListener)
addValueChangeListener(javax.faces.event.ValueChangeListener) を使用し、MethodExpressionValueChangeListener のインスタンスを作成して引数 ValueChangeListener を取得します。 引数 valueChangeMethod を ValueChangeListener の実装にラップし、EditableValueHolder.getValueChangeListeners() メソッドをサポートする内部データ構造に格納します。setValueChangeListener への以前の呼び出しによって格納されたインスタンスを上書きすることに注意してください。
この引数メソッドは、プロセス検証フェーズまたはリクエスト値の適用フェーズで呼び出されます(immediate プロパティの値によって異なります)。
このような式で参照されるメソッドはすべて、戻り値の型が void のパブリックであり、型 ValueChangeEvent のパラメーターを受け入れる必要があります。
EditableValueHolder の setValueChangeListener valueChangeListener - 値変更リスナー。public void markInitialState()
PartialStateHolder.markInitialState() が呼び出されたときに UIOutput で実行されるアクションに加えて、インストールされている Validator のいずれかが PartialStateHolders であるかどうかを確認し、そうである場合は、必要に応じて PartialStateHolder.markInitialState() を呼び出します。
PartialStateHolder の markInitialState UIOutput の markInitialState public void clearInitialState()
UIComponentBasePartialStateHolder を実装するこのインスタンス上の添付オブジェクトごとに、添付オブジェクトで PartialStateHolder.clearInitialState() を呼び出します。
PartialStateHolder の clearInitialState UIOutput の clearInitialState public void processDecodes(FacesContext context)
スーパークラスによって提供されるものに加えて、特殊なデコード動作。UIComponentBase から継承された標準の processDecodes 動作に加えて、immediate プロパティが true の場合は validate() を呼び出します。その後、コンポーネントが無効になった場合、RuntimeException がスローされた場合は、FacesContext.renderResponse() を呼び出します。
UIComponentBase の processDecodes context - FacesContext(処理中のリクエスト)NullPointerExceptionSE - context が null の場合 public void processValidators(FacesContext context)
immediate プロパティが(デフォルトで)false の場合 UIComponentBase から継承された標準 processValidators 動作に加えて、validate() を呼び出します。その後、コンポーネントが無効な場合は、FacesContext.renderResponse() を呼び出します。PostValidateEvent が適切なタイミングで公開されるようにするには、このコンポーネントを最初に検証してから、コンポーネントの子とファセットを検証する必要があります。検証処理中に RuntimeException がスローされた場合は、FacesContext.renderResponse() を呼び出して、例外を再スローします。
UIComponentBase の processValidators context - FacesContext(処理中のリクエスト)NullPointerExceptionSE - context が null の場合 PreValidateEvent, PostValidateEventpublic void processUpdates(FacesContext context)
UIComponentBase から継承された標準の processUpdates 動作に加えて、updateModel() を呼び出します。その後、コンポーネントが無効な場合は、FacesContext.renderResponse() を呼び出します。更新処理中に RuntimeException がスローされた場合は、FacesContext.renderResponse() を呼び出して、例外を再スローします。
UIComponentBase の processUpdates context - FacesContext(処理中のリクエスト)NullPointerExceptionSE - context が null の場合 public void decode(FacesContext context)
UIComponent 指定された FacesContext に含まれるリクエストからこの UIComponent の新しい状態をデコードし、必要に応じてこの状態を保存します。
デコード中、queueEvent() を呼び出すことにより、(インタレストを登録したイベントリスナーによる)後の処理のためにイベントをキューに入れることができます。
UIComponentBase の decode context - FacesContext(処理中のリクエスト)NullPointerExceptionSE - context が null の場合 public void updateModel(FacesContext context)
次のアルゴリズムを実行して、必要に応じて、この UIInput に関連付けられているモデルデータを更新します。
valid プロパティが false の場合、それ以上のアクションは実行しないでください。localValueSet プロパティが false の場合、それ以上のアクションは実行しないでください。value の ValueExpression が存在しない場合は、それ以上のアクションを実行しません。ValueExpression の setValue() メソッドを呼び出して、ValueExpression が指す値を更新します。setValue() メソッドが正常に戻った場合:setValue() メソッドが例外をスローした場合:UPDATE_MESSAGE_ID で FacesMessage を作成します。UpdateModelException を作成し、FacesMessage とキャッチされた例外をコンストラクターに渡します。ExceptionQueuedEventContext を作成し、FacesContext、UpdateModelException、このコンポーネントインスタンス、PhaseId.UPDATE_MODEL_VALUES をコンストラクターに渡します。FacesContext.getExceptionHandler() を呼び出してから、ExceptionHandler.processEvent(javax.faces.event.SystemEvent) を呼び出し、ExceptionQueuedEventContext を渡します。UIInput の valid プロパティを false に設定します。context - FacesContext(処理中のリクエスト)NullPointerExceptionSE - context が null の場合 public void validate(FacesContext context)
次のアルゴリズムを実行して、この UIInput のローカル値を検証します。
getSubmittedValue() を使用して送信された値を取得します。これが null を返し、ALWAYS_PERFORM_VALIDATION_WHEN_REQUIRED_IS_TRUE context-param の値が true(大文字と小文字を区別しない)の場合は、"required" プロパティの値を調べます。"required" の値が true の場合は、以下のように続行します。"required" の値が false の場合、または required 属性が設定されていない場合は、それ以上処理せずに終了します。context-param が設定されていないか、false に設定されている(大文字と小文字を区別しない)場合は、それ以上処理せずに終了します。(これは、このコンポーネントに値が送信されなかったことを示します。)javax.faces.INTERPRET_EMPTY_STRING_SUBMITTED_VALUES_AS_NULL コンテキストパラメーター値が true (大文字と小文字を区別しない)であり、getSubmittedValue() が長さゼロの String 呼び出し setSubmittedValue(java.lang.Object) を返す場合、引数として null を渡し、現在送信される値として null を使用して処理を続行します。getConvertedValue(javax.faces.context.FacesContext, java.lang.Object) を呼び出して、送信された値を適切なデータ型の「ローカル値」に変換します。FacesContext で addMessage() メソッドを呼び出して、適切なエラーメッセージをキューに入れます。valid プロパティを false に設定します validateValue(javax.faces.context.FacesContext, java.lang.Object) を呼び出して、プロパティを検証します。valid プロパティがまだ true である場合は、コンポーネントの以前の値を取得し(getValue() を使用)、setValue() を使用して新しいローカル値を格納し、null を引数として渡す setSubmittedValue(java.lang.Object) を呼び出して、送信された値を null にリセットします。compareValues(java.lang.Object, java.lang.Object) の呼び出しによって決定されたように、ローカル値がこのコンポーネントの以前の値と異なる場合は、ValueChangeEvent を起動して、関心のあるすべてのリスナーにブロードキャストします。 コンポーネントに埋め込まれたロジックを使用して検証を実行する UIInput を実装するアプリケーションコンポーネントは、独自の正当性チェックを実行してから、super.validate() メソッドを呼び出して上記の標準処理を実行する必要があります。
context - 現在のリクエストの FacesContextNullPointerExceptionSE - context が null の場合 protected ObjectSE getConvertedValue(FacesContext context, ObjectSE newSubmittedValue) throws ConverterException
必要に応じて、送信された値を適切なデータ型の「ローカル値」に変換します。これを行うには、次のアルゴリズムを使用します。
Renderer が存在する場合は、getConvertedValue() を呼び出して、送信された値を変換します。Renderer が存在せず、送信された値が文字列である場合は、次のように Converter を見つけます。Converter インスタンスが見つかった場合は、その getAsObject() メソッドを呼び出して変換を実行します。変換が失敗した場合、Converter はこのメソッドでチェックされた例外として宣言された ConverterException をスローするため、呼び出し元が処理する必要があります。このメソッドは、より具体的な動作のためにサブクラスによってオーバーライドできます。
context - Faces コンテキスト。newSubmittedValue - 新しく提出された値。ConverterExceptionprotected void validateValue(FacesContext context, ObjectSE newValue)
以下のアルゴリズムに従って「有効な」プロパティを設定します。
このコンポーネントの valid プロパティがまだ true であり、required プロパティも true である場合は、ローカル値が空でないことを確認してください(「空」は null または長さゼロの文字列として定義されます)。ローカル値が空の場合:
現在のリクエストの FacesContext インスタンスで addMessage() メソッドを呼び出して、適切なエラーメッセージをキューに入れます。getRequiredMessage() が非 null を返す場合は、その値を FacesContext にエンキューされている FacesMessage の summary および detail として使用します。それ以外の場合は、REQUIRED_MESSAGE_ID のメッセージを使用します。
valid プロパティを false に設定します。ValidatorException.getFacesMessages() を呼び出すと非 null が返される場合は、各メッセージを FacesContext に追加する必要があります。それ以外の場合は、ValidatorException.getFacesMessage() から返される単一のメッセージを追加する必要があります。
それ以外の場合、このコンポーネントの valid プロパティがまだ true である場合は、次のアクションを実行して、このコンポーネントの検証を続行するかどうかを決定します。
値が空でない場合は、検証を続行する必要があります。
値が空であるが、システムが空のフィールドを検証するように指示されている場合、検証を続行する必要があります。実装は、ExternalContext から初期化パラメーター Map を取得し、シンボリック定数 VALIDATE_EMPTY_FIELDS_PARAM_NAME の値によって指定されたキーの値をインスペクションする必要があります。そのキーに値がない場合は、同じキーを使用して、ExternalContext からアプリケーションマップを調べます。値が null または文字列 "auto" (引用符なし)と等しい場合は、適切なアクションを実行して、ランタイム環境に Bean 検証が存在するかどうかを判別します。そうでない場合、検証は続行されません。その場合、検証を続行する必要があります。値が "true" (引用符なし)と等しい(大文字と小文字を区別しない)場合は、検証を続行する必要があります。それ以外の場合、検証は続行されません。
上記の決定により検証を続行する必要があることが示された場合は、この UIInput に登録されている各 Validator の validate() メソッドを呼び出してから、validatorBinding プロパティ(存在する場合)が指すメソッドを呼び出します。これらのバリデーターまたはメソッドのいずれかが ValidatorException をスローした場合は、例外をキャッチし、そのメッセージ(存在する場合)を FacesContext に追加し、このコンポーネントの valid プロパティを false に設定します。
context - Faces コンテキスト。newValue - 新しい値。protected boolean compareValues(ObjectSE previous, ObjectSE value)
新しい値が前の値と異なる場合は、true を返します。最初に、前の引数の equals メソッドに値を渡して、2 つの値を比較します。そのメソッドが true を返す場合は、true を返します。そのメソッドが false を返し、両方の引数が java.lang.Comparable を実装している場合は、前の引数の compareTo メソッドに値を渡して 2 つの値を比較します。このメソッドが 0 を返す場合は true を返し、それ以外の場合は false を返します。
previous - このコンポーネントの古い値 (もしあれば)value - このコンポーネントの新しい値 (もしあれば)true、それ以外の場合は false。public static boolean isEmpty(ObjectSE value)
空の値を示す値です。
値が null の場合、true を返します。値が文字列であり、それが空の文字列である場合は、true を返します。値が配列で、配列の長さが 0 の場合、true を返します。値がリストで、リストが空の場合、true を返します。値がコレクションであり、コレクションが空の場合、true を返します。値がマップで、マップが空の場合、true を返します。それ以外の場合はすべて false を返します。
value - チェックする値。public void addValidator(Validator validator)
EditableValueHolder の addValidator validator - 追加する ValidatorNullPointerExceptionSE - validator が null の場合 public Validator[] getValidators()
EditableValueHolder の getValidators public void removeValidator(Validator validator)
EditableValueHolder の removeValidator validator - 削除する Validatorpublic void addValueChangeListener(ValueChangeListener listener)
新しい ValueChangeListener を、ValueChangeEvent の発生時に通知を受けることに関心のあるリスナーのセットに追加します。
EditableValueHolder の addValueChangeListener listener - 追加する ValueChangeListenerNullPointerExceptionSE - listener が null の場合 public ValueChangeListener[] getValueChangeListeners()
この UIInput インスタンスに登録されている ValueChangeListener のセットを返します。登録済みのリスナーがない場合は、長さ 0 の配列が返されます。
EditableValueHolder の getValueChangeListeners public void removeValueChangeListener(ValueChangeListener listener)
ValueChangeEvent の発生時に通知を受けることに関心のあるリスナーのセットから既存の ValueChangeListener(存在する場合)を削除します。
EditableValueHolder の removeValueChangeListener listener - 削除する ValueChangeListenerNullPointerExceptionSE - listener が null の場合 public ObjectSE saveState(FacesContext context)
StateHolder インスタンスの状態を Serializable オブジェクトとして取得します。
このインターフェースを実装するクラスが、StateHolder を実装するインスタンス(イベントハンドラー、バリデーターなどを含む UIComponent など)への参照を持っている場合、このメソッドはそれらすべてのインスタンスで StateHolder.saveState(javax.faces.context.FacesContext) メソッドも呼び出す必要があります。このメソッドは、子とファセットの状態を保存してはなりませんそれは StateManager を介して行われます
このメソッドは、実装オブジェクトの状態を変更してはなりません。つまり、このコードを実行した後:
Object state = component.saveState(facesContext);
component は、実行前と同じでなければなりません。
このメソッドからの戻り値は Serializable でなければなりません
StateHolder の saveState UIOutput の saveState context - Faces コンテキスト。public void restoreState(FacesContext context, ObjectSE state)
StateHolderstate オブジェクトのエントリから状態を復元するために必要な処理を実行します。
このインターフェースを実装するクラスが、StateHolder も実装するインスタンスへの参照を持っている場合(イベントハンドラー、バリデーターなどを備えた UIComponent など)、このメソッドはそれらすべてのインスタンスで StateHolder.restoreState(javax.faces.context.FacesContext, java.lang.Object) メソッドも呼び出す必要があります。
state 引数が null の場合、アクションを実行せずに戻ります。
StateHolder の restoreState UIOutput の restoreState context - Faces コンテキスト。state - 状態。Copyright © 2019 Eclipse Foundation.
Use is subject to license terms.