クラス 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 StringSECONVERTER_IDこのコンバーターの標準コンバーター ID。static StringSEENUM_IDEnumへの変換が失敗した場合に作成されるFacesMessageのメッセージ ID。static StringSEENUM_NO_CLASS_IDEnumへの変換が失敗し、ターゲットクラスが提供されていない場合に作成されるFacesMessageのメッセージ ID。インターフェース jakarta.faces.convert.Converter から継承されたフィールド
DATETIMECONVERTER_DEFAULT_TIMEZONE_IS_SYSTEM_TIMEZONE_PARAM_NAME
コンストラクター概要
コンストラクター コンストラクター 説明 EnumConverter()StateHolder の場合EnumConverter(ClassSE targetClass)列挙型定数が取得されるクラスを使用して、列挙型コンバーターをインスタンス化します。
方法の概要
すべてのメソッド インスタンスメソッド 具象メソッド 修飾子と型 メソッド 説明 voidclearInitialState()PartialStateHolder を非デルタ追跡状態にリセットします。ObjectSEgetAsObject(FacesContext context, UIComponent component, StringSE value)value引数を、コンストラクターで提供されるクラスの列挙型定数の 1 つに変換します。StringSEgetAsString(FacesContext context, UIComponent component, ObjectSE value)value引数で指定された列挙型定数を文字列に変換します。booleaninitialStateMarked()デルタ状態の変更が追跡されている場合はtrueを返し、それ以外の場合はfalseを返します。booleanisTransient()true の場合、このインターフェースを実装するオブジェクトは、状態の保存または復元に参加してはなりません。voidmarkInitialState()ランタイムは、コンポーネントが初期状態であることを示すために、適切な時間にビュー内のこのインターフェースの各インスタンスでPartialStateHolder.markInitialState()メソッドが呼び出されることを確認する必要があります。voidrestoreState(FacesContext facesContext, ObjectSE object)state オブジェクトのエントリから状態を復元するために必要な処理を実行します。ObjectSEsaveState(FacesContext facesContext)インスタンスの状態をSerializableオブジェクトとして取得します。voidsetTransient(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- このリクエストのFacesContextcomponent- この値が適用される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- 処理中のリクエストのFacesContextcomponent- このモデルオブジェクト値が関連付けられているUIComponentvalue- 変換するモデルオブジェクトの値 (nullの場合があります)- 戻り値:
- 値が
nullの場合は長さ 0 の文字列、それ以外の場合は変換の結果 - 例外:
ConverterException- 変換が正常に実行できない場合NullPointerExceptionSE-contextまたはcomponentがnullの場合
restoreState
public void restoreState(FacesContext facesContext, ObjectSE object)
インターフェースからコピーされた説明:StateHolderstate オブジェクトのエントリから状態を復元するために必要な処理を実行します。
このインターフェースを実装するクラスが、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()
インターフェースからコピーされた説明:StateHoldertrue の場合、このインターフェースを実装するオブジェクトは、状態の保存または復元に参加してはなりません。
- 次で指定:
- インターフェース
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()
インターフェースからコピーされた説明:PartialStateHolderPartialStateHolder を非デルタ追跡状態にリセットします。
- 次で指定:
- インターフェース
PartialStateHolder内のclearInitialState