パッケージ jakarta.faces.convert

クラス EnumConverter

java.lang.ObjectSE
jakarta.faces.convert.EnumConverter
実装されたすべてのインターフェース:
PartialStateHolderStateHolderConverter

public class EnumConverter extends ObjectSE implements Converter, PartialStateHolder

java.lang.Enum  (および列挙型プリミティブ)値の Converter 実装。

導入:
1.2
  • フィールドのサマリー

    フィールド
    修飾子と型
    フィールド
    説明
    static final StringSE
    このコンバーターの標準コンバーター ID。
    static final StringSE
    Enum への変換が失敗した場合に作成される FacesMessage のメッセージ ID。
    static final StringSE
    Enum への変換が失敗し、ターゲットクラスが提供されていない場合に作成される FacesMessage のメッセージ ID。

    インターフェース jakarta.faces.convert.Converter から継承されたフィールド

    DATETIMECONVERTER_DEFAULT_TIMEZONE_IS_SYSTEM_TIMEZONE_PARAM_NAME
  • コンストラクターの概要

    コンストラクター
    コンストラクター
    説明
    StateHolder の場合
    EnumConverter(ClassSE targetClass)
    列挙型定数が取得されるクラスを使用して、列挙型コンバーターをインスタンス化します。
  • メソッドのサマリー

    修飾子と型
    メソッド
    説明
    void
    PartialStateHolder を非デルタ追跡状態にリセットします。
    getAsObject(FacesContext context, UIComponent component, StringSE value)
    value 引数を、コンストラクターで提供されるクラスの列挙型定数の 1 つに変換します。
    getAsString(FacesContext context, UIComponent component, ObjectSE value)
    value 引数で指定された列挙型定数を文字列に変換します。
    boolean
    デルタ状態の変更が追跡されている場合は true を返し、それ以外の場合は false を返します。
    boolean
    true の場合、このインターフェースを実装するオブジェクトは、状態の保存または復元に参加してはなりません。
    void
    ランタイムは、コンポーネントが初期状態であることを示すために、適切な時間にビュー内のこのインターフェースの各インスタンスで PartialStateHolder.markInitialState() メソッドが呼び出されることを確認する必要があります。
    void
    restoreState(FacesContext facesContext, ObjectSE object)
    state オブジェクトのエントリから状態を復元するために必要な処理を実行します。
    saveState(FacesContext facesContext)
    インスタンスの状態を Serializable オブジェクトとして取得します。
    void
    setTransient(boolean b)
    このインターフェースを実装するオブジェクトが状態の保存または復元に参加する必要があるかどうかを示します

    クラス java.lang.ObjectSE から継承されたメソッド

    clone, equalsSE, finalize, getClass, hashCode, notify, notifyAll, toString, wait, waitSE, waitSE
  • フィールドの詳細

    • CONVERTER_ID

      public static final StringSE CONVERTER_ID

      このコンバーターの標準コンバーター ID。

      関連事項:
    • 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 をスローします。

      次で指定:
      インターフェース ConvertergetAsObject 
      パラメーター:
      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 をスローします。

      次で指定:
      インターフェース ConvertergetAsString 
      パラメーター:
      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 の場合、アクションを実行せずに戻ります。

      次で指定:
      インターフェース StateHolderrestoreState 
      パラメーター:
      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 でなければなりません

      次で指定:
      インターフェース StateHoldersaveState 
      パラメーター:
      facesContext - Faces コンテキスト。
      戻り値:
      保存された状態。
    • setTransient

      public void setTransient(boolean b)
      インターフェースからコピーされた説明: StateHolder

      このインターフェースを実装するオブジェクトが状態の保存または復元に参加する必要があるかどうかを示します

      次で指定:
      インターフェース StateHoldersetTransient 
      パラメーター:
      b - このオブジェクトが 状態の保存または復元に参加しない場合はブール値 true を渡し、それ以外の場合は false を渡します。
    • isTransient

      public boolean isTransient()
      インターフェースからコピーされた説明: StateHolder

      true の場合、このインターフェースを実装するオブジェクトは、状態の保存または復元に参加してはなりません。

      次で指定:
      インターフェース StateHolderisTransient 
      戻り値:
      一時的な場合は 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) の実装で変更された状態のみを返す必要があります。

      次で指定:
      インターフェース PartialStateHoldermarkInitialState 
    • initialStateMarked

      public boolean initialStateMarked()
      インターフェースからコピーされた説明: PartialStateHolder

      デルタ状態の変更が追跡されている場合は true を返し、それ以外の場合は false を返します。

      次で指定:
      インターフェース PartialStateHolderinitialStateMarked 
      戻り値:
      初期状態がマークされている場合は true、それ以外の場合は false
    • clearInitialState

      public void clearInitialState()
      インターフェースからコピーされた説明: PartialStateHolder

      PartialStateHolder を非デルタ追跡状態にリセットします。

      次で指定:
      インターフェース PartialStateHolderclearInitialState