public class EnumConverter extends ObjectSE implements Converter, PartialStateHolder
java.lang.Enum
(および列挙型プリミティブ)値の Converter
実装。
修飾子と型 | フィールドと説明 |
---|---|
static StringSE | CONVERTER_ID このコンバーターの標準コンバーター ID。 |
static StringSE | ENUM_ID Enum への変換が失敗した場合に作成される FacesMessage のメッセージ ID。 |
static StringSE | ENUM_NO_CLASS_ID Enum への変換が失敗し、ターゲットクラスが提供されていない場合に作成される FacesMessage のメッセージ ID。 |
DATETIMECONVERTER_DEFAULT_TIMEZONE_IS_SYSTEM_TIMEZONE_PARAM_NAME
コンストラクターと説明 |
---|
EnumConverter() |
EnumConverter(ClassSE targetClass) |
修飾子と型 | メソッドと説明 |
---|---|
void | clearInitialState() PartialStateHolder を非デルタ追跡状態にリセットします。 |
ObjectSE | getAsObject(FacesContext context, UIComponent component, StringSE value) value 引数を、コンストラクターで提供されるクラスの列挙型定数の 1 つに変換します。 |
StringSE | getAsString(FacesContext context, UIComponent component, ObjectSE value)
|
boolean | initialStateMarked() デルタ状態の変更が追跡されている場合は |
boolean | isTransient() true の場合、このインターフェースを実装するオブジェクトは、状態の保存または復元に参加してはなりません。 |
void | markInitialState() ランタイムは、コンポーネントが初期状態であることを示すために、適切な時間にビュー内のこのインターフェースの各インスタンスで |
void | restoreState(FacesContext facesContext, ObjectSE object) state オブジェクトのエントリから状態を復元するために必要な処理を実行します。 |
ObjectSE | saveState(FacesContext facesContext) インスタンスの状態を Serializable オブジェクトとして取得します。 |
void | setTransient(boolean b) このインターフェースを実装するオブジェクトが状態の保存または復元に参加する必要があるかどうかを示します。 |
cloneSE, equalsSE, finalizeSE, getClassSE, hashCodeSE, notifySE, notifyAllSE, toStringSE, waitSE, waitSE, waitSE
public static final StringSE ENUM_ID
Enum
への変換が失敗した場合に作成される FacesMessage
のメッセージ ID。このメッセージのメッセージフォーマット文字列には、オプションで次のプレースホルダーを含めることができます。
{0}
は、変換されていない値に置き換えられます。{1}
は、列挙型定数の 1 つ、または何も見つからない場合は空の文字列に置き換えられます。{2}
は、値がこのメッセージを生成した入力コンポーネントのラベルである String
に置き換えられました。public static final StringSE ENUM_NO_CLASS_ID
Enum
への変換が失敗し、ターゲットクラスが提供されていない場合に作成される FacesMessage
のメッセージ ID。このメッセージのメッセージ形式の文字列には、オプションで次のプレースホルダーを含めることができます。
{0}
は、変換されていない値に置き換えられます。{1}
は、値がこのメッセージを生成した入力コンポーネントのラベルである String
に置き換えられました。public EnumConverter()
public EnumConverter(ClassSE targetClass)
public ObjectSE getAsObject(FacesContext context, UIComponent component, StringSE value)
value
引数を、コンストラクターで提供されるクラスの列挙型定数の 1 つに変換します。このインスタンスのコンストラクターにターゲットクラス引数が指定されていない場合は、適切なパラメーターを指定した ENUM_NO_CLASS_ID
メッセージを含む ConverterException
をスローします。value
引数が null
であるか、長さがゼロの場合は、null
を返します。それ以外の場合は、ターゲットクラスと value
を使用して Enum.valueOf
と同等の処理を実行し、Object
を返します。変換が失敗した場合は、適切なパラメーターを指定した ENUM_ID
メッセージを含む ConverterException
をスローします。
Converter
の getAsObject
context
- このリクエストの FacesContext
component
- この値が適用される UIComponent
。value
- Object
に変換される文字列 value
。null
の場合は null
、それ以外の場合は変換の結果 ConverterException
- 変換が正常に実行できない場合 NullPointerExceptionSE
- context
または component
が null
の場合 public StringSE getAsString(FacesContext context, UIComponent component, ObjectSE value)
value
引数で指定された列挙型定数を文字列に変換します。このインスタンスのコンストラクターにターゲットクラス引数が指定されていない場合は、適切なパラメーターを指定した ENUM_NO_CLASS_ID
メッセージを含む ConverterException
をスローします。value
引数が null
の場合、空の文字列を返します。値が指定されたターゲットクラスのインスタンスである場合は、文字列値を java.lang.Enum
にキャストし、name()
メソッドを呼び出した結果を返すことによってその文字列値を返します。それ以外の場合は、適切なパラメーターを指定して ENUM_ID
メッセージを含む ConverterException
をスローします。
Converter
の getAsString
context
- 処理中のリクエストの FacesContext
component
- このモデルオブジェクト値が関連付けられている UIComponent
value
- 変換するモデルオブジェクトの値 (null
の場合があります)null
の場合は長さ 0 の文字列、それ以外の場合は変換の結果 ConverterException
- 変換が正常に実行できない場合 NullPointerExceptionSE
- context
または component
が null
の場合 public void restoreState(FacesContext facesContext, ObjectSE object)
StateHolder
state オブジェクトのエントリから状態を復元するために必要な処理を実行します。
このインターフェースを実装するクラスが、StateHolder も実装するインスタンスへの参照を持っている場合(イベントハンドラー、バリデーターなどを備えた UIComponent
など)、このメソッドはそれらすべてのインスタンスで StateHolder.restoreState(jakarta.faces.context.FacesContext, java.lang.Object)
メソッドも呼び出す必要があります。
state
引数が null
の場合、アクションを実行せずに戻ります。
StateHolder
の restoreState
facesContext
- Faces コンテキスト。object
- 状態。public ObjectSE saveState(FacesContext facesContext)
StateHolder
インスタンスの状態を Serializable
オブジェクトとして取得します。
このインターフェースを実装するクラスが、StateHolder を実装するインスタンス(イベントハンドラー、バリデーターなどを含む UIComponent
など)への参照を持っている場合、このメソッドはそれらすべてのインスタンスで StateHolder.saveState(jakarta.faces.context.FacesContext)
メソッドも呼び出す必要があります。このメソッドは、子とファセットの状態を保存してはなりませんそれは StateManager
を介して行われます
このメソッドは、実装オブジェクトの状態を変更してはなりません。つまり、このコードを実行した後:
Object state = component.saveState(facesContext);
component
は、実行前と同じでなければなりません。
このメソッドからの戻り値は Serializable
でなければなりません
StateHolder
の saveState
facesContext
- Faces コンテキスト。public void setTransient(boolean b)
StateHolder
このインターフェースを実装するオブジェクトが状態の保存または復元に参加する必要があるかどうかを示します。
StateHolder
の setTransient
b
- このオブジェクトが 状態の保存または復元に参加しない場合はブール値 true
を渡し、それ以外の場合は false
を渡します。public boolean isTransient()
StateHolder
true の場合、このインターフェースを実装するオブジェクトは、状態の保存または復元に参加してはなりません。
StateHolder
の isTransient
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.