クラス EnumConverter
- java.lang.ObjectSE
-
- jakarta.faces.convert.EnumConverter
- 実装されたすべてのインターフェース:
PartialStateHolder
、StateHolder
、Converter
public class EnumConverter extends ObjectSE implements Converter, PartialStateHolder
java.lang.Enum
(および列挙型プリミティブ)値のConverter
実装。- 導入:
- 1.2
フィールドサマリー
フィールド 修飾子と型 フィールド 説明 static StringSE
CONVERTER_ID
このコンバーターの標準コンバーター ID。static StringSE
ENUM_ID
Enum
への変換が失敗した場合に作成されるFacesMessage
のメッセージ ID。static StringSE
ENUM_NO_CLASS_ID
Enum
への変換が失敗し、ターゲットクラスが提供されていない場合に作成されるFacesMessage
のメッセージ ID。インターフェース jakarta.faces.convert.Converter から継承されたフィールド
DATETIMECONVERTER_DEFAULT_TIMEZONE_IS_SYSTEM_TIMEZONE_PARAM_NAME
コンストラクターのサマリー
コンストラクター コンストラクター 説明 EnumConverter()
StateHolder の場合EnumConverter(ClassSE targetClass)
列挙型定数が取得されるクラスを使用して、列挙型コンバーターをインスタンス化します。
メソッドのサマリー
すべてのメソッド インスタンスメソッド 具象メソッド 修飾子と型 メソッド 説明 void
clearInitialState()
PartialStateHolder を非デルタ追跡状態にリセットします。ObjectSE
getAsObject(FacesContext context, UIComponent component, StringSE value)
value
引数を、コンストラクターで提供されるクラスの列挙型定数の 1 つに変換します。StringSE
getAsString(FacesContext context, UIComponent component, ObjectSE value)
value
引数で指定された列挙型定数を文字列に変換します。boolean
initialStateMarked()
デルタ状態の変更が追跡されている場合はtrue
を返し、それ以外の場合はfalse
を返します。boolean
isTransient()
true の場合、このインターフェースを実装するオブジェクトは、状態の保存または復元に参加してはなりません。void
markInitialState()
ランタイムは、コンポーネントが初期状態であることを示すために、適切な時間にビュー内のこのインターフェースの各インスタンスでPartialStateHolder.markInitialState()
メソッドが呼び出されることを確認する必要があります。void
restoreState(FacesContext facesContext, ObjectSE object)
state オブジェクトのエントリから状態を復元するために必要な処理を実行します。ObjectSE
saveState(FacesContext facesContext)
インスタンスの状態をSerializable
オブジェクトとして取得します。void
setTransient(boolean b)
このインターフェースを実装するオブジェクトが状態の保存または復元に参加する必要があるかどうかを示します。
フィールドの詳細
ENUM_ID
public static final StringSE ENUM_ID
Enum
への変換が失敗した場合に作成されるFacesMessage
のメッセージ ID。このメッセージのメッセージフォーマット文字列には、オプションで次のプレースホルダーを含めることができます。{0}
は、変換されていない値に置き換えられます。{1}
は、列挙型定数の 1 つ、または何も見つからない場合は空の文字列に置き換えられます。{2}
は、値がこのメッセージを生成した入力コンポーネントのラベルであるString
に置き換えられました。
- 関連事項:
- 定数フィールド値
ENUM_NO_CLASS_ID
public static final StringSE ENUM_NO_CLASS_ID
Enum
への変換が失敗し、ターゲットクラスが提供されていない場合に作成されるFacesMessage
のメッセージ ID。このメッセージのメッセージ形式の文字列には、オプションで次のプレースホルダーを含めることができます。{0}
は、変換されていない値に置き換えられます。{1}
は、値がこのメッセージを生成した入力コンポーネントのラベルであるString
に置き換えられました。
- 関連事項:
- 定数フィールド値
コンストラクターの詳細
EnumConverter
public EnumConverter()
StateHolder の場合
EnumConverter
public EnumConverter(ClassSE targetClass)
列挙型定数が取得されるクラスを使用して、列挙型コンバーターをインスタンス化します。- パラメーター:
targetClass
- 列挙型定数がコンバーターメソッドによって取得されるクラス。
メソッドの詳細
getAsObject
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
の場合
getAsString
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
の場合
restoreState
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
- 状態。
saveState
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 コンテキスト。- 戻り値:
- 保存された状態。
setTransient
public void setTransient(boolean b)
インターフェースからコピーされた説明:StateHolder
このインターフェースを実装するオブジェクトが状態の保存または復元に参加する必要があるかどうかを示します。
- 次で指定:
- インターフェース
StateHolder
のsetTransient
- パラメーター:
b
- このオブジェクトが 状態の保存または復元に参加しない場合はブール値true
を渡し、それ以外の場合はfalse
を渡します。
isTransient
public boolean isTransient()
インターフェースからコピーされた説明:StateHolder
true の場合、このインターフェースを実装するオブジェクトは、状態の保存または復元に参加してはなりません。
- 次で指定:
- インターフェース
StateHolder
のisTransient
- 戻り値:
- 一時的な場合は
true
、それ以外の場合はfalse
。
markInitialState
public void markInitialState()
インターフェースからコピーされた説明:PartialStateHolder
ランタイムは、コンポーネントが初期状態であることを示すために、適切な時間にビュー内のこのインターフェースの各インスタンスで
PartialStateHolder.markInitialState()
メソッドが呼び出されることを確認する必要があります。インターフェースの実装者は、markInitialState()
が呼び出されてからPartialStateHolder.clearInitialState()
が呼び出されるまでPartialStateHolder.initialStateMarked()
がtrue
を返すことを確認する必要があります。その後、initialStateMarked()
はfalse
を返す必要があります。また、インスタンスがinitialStateMarked()
からtrue
を返す間、実装はStateHolder.saveState(jakarta.faces.context.FacesContext)
の実装で変更された状態のみを返す必要があります。- 次で指定:
- インターフェース
PartialStateHolder
のmarkInitialState
initialStateMarked
public boolean initialStateMarked()
インターフェースからコピーされた説明:PartialStateHolder
デルタ状態の変更が追跡されている場合は
true
を返し、それ以外の場合はfalse
を返します。- 次で指定:
- インターフェース
PartialStateHolder
のinitialStateMarked
- 戻り値:
- 初期状態がマークされている場合は
true
、それ以外の場合はfalse
。
clearInitialState
public void clearInitialState()
インターフェースからコピーされた説明:PartialStateHolder
PartialStateHolder を非デルタ追跡状態にリセットします。
- 次で指定:
- インターフェース
PartialStateHolder
のclearInitialState