public class LengthValidator extends ObjectSE implements Validator, PartialStateHolder
LengthValidator は、関連するコンポーネントの値の文字列表現の文字数をチェックする Validator
です。次のアルゴリズムが実装されています。
toString()
メソッドを呼び出して、渡された値を文字列に変換します。Validator
で maximum
プロパティが構成されている場合は、変換された文字列の長さをこの制限と照合します。文字列の長さが指定された最大値より大きい場合は、MAXIMUM_MESSAGE_ID メッセージを含む ValidatorException
をスローします。Validator
で minimum
プロパティが構成されている場合は、変換された文字列の長さをこの制限と照合します。文字列の長さが指定された最小値より短い場合は、MINIMUM_MESSAGE_ID メッセージを含む ValidatorException
をスローします。ValidatorException
がスローされる上記のすべてのケースで、検証パラメーターと一致するパラメーターがメッセージにある場合、これらのパラメーターの値は、コンバーター ID jakarta.faces.Number
でアプリケーションに登録された Converter
を使用して変換する必要があります。これにより、現在の Locale
に従って値をローカライズできます。
修飾子と型 | フィールドと説明 |
---|---|
static StringSE | MAXIMUM_MESSAGE_ID 最大長のチェックが失敗した場合に作成される FacesMessage のメッセージ識別子。 |
static StringSE | MINIMUM_MESSAGE_ID 最小長のチェックが失敗した場合に作成される FacesMessage のメッセージ ID。 |
static StringSE | VALIDATOR_ID このバリデーターの標準バリデーター ID。 |
NOT_IN_RANGE_MESSAGE_ID
コンストラクターと説明 |
---|
LengthValidator() 事前構成された制限のない Validator を構築します。 |
LengthValidator(int maximum) 指定された事前構成された制限で Validator を構築します。 |
LengthValidator(int maximum, int minimum) 指定された事前構成された制限で Validator を構築します。 |
修飾子と型 | メソッドと説明 |
---|---|
void | clearInitialState() PartialStateHolder を非デルタ追跡状態にリセットします。 |
boolean | equals(ObjectSE otherObj) |
int | getMaximum() この Validator によって適用される最大長、または最大長が設定されていない場合は 0 を返します。 |
int | getMinimum() この Validator によって適用される最小の長さ、または最小値が設定されていない場合は 0 を返します。 |
int | hashCode() |
boolean | initialStateMarked() デルタ状態の変更が追跡されている場合は |
boolean | isTransient() true の場合、このインターフェースを実装するオブジェクトは、状態の保存または復元に参加してはなりません。 |
void | markInitialState() ランタイムは、コンポーネントが初期状態であることを示すために、適切な時間にビュー内のこのインターフェースの各インスタンスで |
void | restoreState(FacesContext context, ObjectSE state) state オブジェクトのエントリから状態を復元するために必要な処理を実行します。 |
ObjectSE | saveState(FacesContext context) インスタンスの状態を Serializable オブジェクトとして取得します。 |
void | setMaximum(int maximum) この Validator によって適用される最大長を設定します。 |
void | setMinimum(int minimum) この Validator によって適用される最小の長さを設定します。 |
void | setTransient(boolean transientValue) このインターフェースを実装するオブジェクトが状態の保存または復元に参加する必要があるかどうかを示します。 |
void | validate(FacesContext context, UIComponent component, ObjectSE value) |
cloneSE, finalizeSE, getClassSE, notifySE, notifyAllSE, toStringSE, waitSE, waitSE, waitSE
public static final StringSE MAXIMUM_MESSAGE_ID
最大長のチェックが失敗した場合に作成される FacesMessage
のメッセージ識別子。このメッセージのメッセージフォーマット文字列には、オプションで次のプレースホルダーを含めることができます。
{0}
は、構成された最大長に置き換えられました。{1}
は、値がこのメッセージを生成した入力コンポーネントのラベルである String
に置き換えられました。public static final StringSE MINIMUM_MESSAGE_ID
最小長のチェックが失敗した場合に作成される FacesMessage
のメッセージ ID。このメッセージのメッセージフォーマット文字列には、オプションで次のプレースホルダーを含めることができます。
{0}
は、構成された最小長に置き換えられました。{1}
は、値がこのメッセージを生成した入力コンポーネントのラベルである String
に置き換えられました。public LengthValidator()
事前構成された制限のない Validator
を構築します。
public LengthValidator(int maximum)
指定された事前構成された制限で Validator
を構築します。
maximum
- 許可する最大値 public LengthValidator(int maximum, int minimum)
指定された事前構成された制限で Validator
を構築します。
maximum
- 許可する最大値 minimum
- 許可する最小値 public int getMaximum()
この Validator
によって適用される最大長、または最大長が設定されていない場合は 0
を返します。
public void setMaximum(int maximum)
この Validator
によって適用される最大長を設定します。
maximum
- 新しい最大値 public int getMinimum()
この Validator
によって適用される最小の長さ、または最小値が設定されていない場合は 0
を返します。
public void setMinimum(int minimum)
この Validator
によって適用される最小の長さを設定します。
minimum
- 新しい最小値 public void validate(FacesContext context, UIComponent component, ObjectSE value) throws ValidatorException
Validator
指定された UIComponent
に対してこの Validator
によって実装正しさのチェックを行います。違反が見つかった場合は、障害を説明する FacesMessage
を含む ValidatorException
がスローされます。
バリデーターがバージョン 2 以降の仕様に完全に準拠するためには、null
または空の値に対処することを特に意図していない限り、null
または空の値の検証に失敗してはなりません。アプリケーション全体の <context-param>
は、Jakarta Server Faces 1.2 用に設計されたバリデーターが Jakarta Server Faces 2 以降で動作できるようにするために提供されています。この下位互換性の動作を有効にするには、jakarta.faces.VALIDATE_EMPTY_FIELDS
<context-param>
を false
に設定する必要があります。
Validator
の validate
context
- 処理中のリクエストの FacesContextcomponent
- 正当性をチェックしている UIComponentvalue
- 検証する値 NullPointerExceptionSE
- context
または component
が null
の場合 ValidatorException
- 検証が失敗した場合 public int hashCode()
ObjectSE
の hashCodeSE
public ObjectSE saveState(FacesContext context)
StateHolder
インスタンスの状態を Serializable
オブジェクトとして取得します。
このインターフェースを実装するクラスが、StateHolder を実装するインスタンス(イベントハンドラー、バリデーターなどを含む UIComponent
など)への参照を持っている場合、このメソッドはそれらすべてのインスタンスで StateHolder.saveState(jakarta.faces.context.FacesContext)
メソッドも呼び出す必要があります。このメソッドは、子とファセットの状態を保存してはなりませんそれは StateManager
を介して行われます
このメソッドは、実装オブジェクトの状態を変更してはなりません。つまり、このコードを実行した後:
Object state = component.saveState(facesContext);
component
は、実行前と同じでなければなりません。
このメソッドからの戻り値は Serializable
でなければなりません
StateHolder
の saveState
context
- Faces コンテキスト。public void restoreState(FacesContext context, ObjectSE state)
StateHolder
state オブジェクトのエントリから状態を復元するために必要な処理を実行します。
このインターフェースを実装するクラスが、StateHolder も実装するインスタンスへの参照を持っている場合(イベントハンドラー、バリデーターなどを備えた UIComponent
など)、このメソッドはそれらすべてのインスタンスで StateHolder.restoreState(jakarta.faces.context.FacesContext, java.lang.Object)
メソッドも呼び出す必要があります。
state
引数が null
の場合、アクションを実行せずに戻ります。
StateHolder
の restoreState
context
- Faces コンテキスト。state
- 状態。public boolean isTransient()
StateHolder
true の場合、このインターフェースを実装するオブジェクトは、状態の保存または復元に参加してはなりません。
StateHolder
の isTransient
true
、それ以外の場合は false
。public void setTransient(boolean transientValue)
StateHolder
このインターフェースを実装するオブジェクトが状態の保存または復元に参加する必要があるかどうかを示します。
StateHolder
の setTransient
transientValue
- このオブジェクトが 状態の保存または復元に参加しない場合はブール値 true
を渡し、それ以外の場合は false
を渡します。public void markInitialState()
PartialStateHolder
ランタイムは、コンポーネントが初期状態であることを示すために、適切な時間にビュー内のこのインターフェースの各インスタンスで PartialStateHolder.markInitialState()
メソッドが呼び出されることを確認する必要があります。インターフェースの実装者は、markInitialState()
が呼び出されてから PartialStateHolder.clearInitialState()
が呼び出されるまで PartialStateHolder.initialStateMarked()
が true
を返すことを確認する必要があります。その後、initialStateMarked()
は false
を返す必要があります。また、インスタンスが initialStateMarked()
から true
を返す間、実装は StateHolder.saveState(jakarta.faces.context.FacesContext)
の実装で変更された状態のみを返す必要があります。
PartialStateHolder
の markInitialState
public boolean initialStateMarked()
PartialStateHolder
デルタ状態の変更が追跡されている場合は true
を返し、それ以外の場合は false
を返します。
PartialStateHolder
の initialStateMarked
true
、それ以外の場合は false
。public void clearInitialState()
PartialStateHolder
PartialStateHolder を非デルタ追跡状態にリセットします。
PartialStateHolder
の clearInitialState
Copyright © 2018,2020 Eclipse Foundation.
Use is subject to license terms.