クラス DateTimeConverter
- java.lang.ObjectSE
-
- jakarta.faces.convert.DateTimeConverter
- 実装されているすべてのインターフェース:
PartialStateHolder、StateHolder、Converter
public class DateTimeConverter extends ObjectSE implements Converter, PartialStateHolder
java.util.Date値のConverter実装。getAsObject()メソッドは、次のアルゴリズムに従って、文字列をjava.util.Dateに解析します。- 指定された文字列が null の場合、
nullを返します。それ以外の場合は、続行する前に先頭と末尾の空白を削除します。 - 指定された文字列(トリミング後)の長さがゼロの場合、
nullを返します。 localeプロパティが null でない場合は、そのLocaleを使用して解析を管理します。それ以外の場合は、UIViewRootからLocaleを使用します。patternが指定されている場合、その構文はjava.text.SimpleDateFormatまたはjava.time.format.DateTimeFormatterで指定された規則に準拠している必要があります。これら 2 つのフォーマッタのどちらを使用するかは、typeの値によって異なります。このようなパターンは解析に使用され、typeの値がsetType(java.lang.String)にリストされているjava.time固有の値のいずれかでない限り、type、dateStyle、timeStyleプロパティは無視されます。この場合、DateTimeFormatter.ofPattern(String, Locale)を呼び出して、patternの値を最初の引数として渡し、現在のLocaleを 2 番目の引数として渡す必要があります。また、このフォーマッターを使用して、入力値を解析する必要があります。patternが指定されていない場合、解析はtypeプロパティに基づいて行われます。これは、日付値、時刻値、またはその両方、またはsetType(java.lang.String)にリストされているjava.timeのクラスに固有のいくつかの値の 1 つを予期します。含まれる日付と時刻の値は、それぞれdateStyleおよびtimeStyleで指定されたスタイルに従って解析されます。timezoneが指定されている場合、それを基礎となるDateFormatインスタンスに渡す必要があります。それ以外の場合は、"GMT" タイムゾーンが使用されます。- すべての場合において、解析は寛大でなければなりません。指定された文字列は、解析形式に厳密に従う必要があります。
getAsString()メソッドは型java.util.Date(またはサブクラス)の値を予期し、次のアルゴリズムに従ってフォーマットされた文字列を作成します。- 指定された値が null の場合、長さがゼロの文字列を返します。
- 指定した値が文字列の場合、変更せずに返します。
localeプロパティが null でない場合は、そのLocaleを使用してフォーマットを管理します。それ以外の場合は、UIViewRootからLocaleを使用します。timezoneが指定されている場合、それを基礎となるDateFormatインスタンスに渡す必要があります。それ以外の場合は、"GMT" タイムゾーンが使用されます。patternが指定されている場合、その構文はjava.text.SimpleDateFormatまたはjava.time.format.DateTimeFormatterで指定された規則に準拠している必要があります。これら 2 つのフォーマッタのどちらを使用するかは、typeの値によって異なります。このようなパターンはフォーマットに使用され、typeの値がsetType(java.lang.String)にリストされているjava.time固有の値のいずれかでない限り、type、dateStyle、timeStyleプロパティは無視されます。この場合、DateTimeFormatter.ofPattern(String, Locale)を呼び出して、patternの値を最初の引数として渡し、現在のLocaleを 2 番目の引数として渡す必要があります。また、このフォーマッターを使用して、発信値をフォーマットする必要があります。patternが指定されていない場合、フォーマットは、typeプロパティに基づいて行われます。これには、日付値、時間値、またはその両方、フォーマットされた文字列が含まれます。含まれる日付と時刻の値は、それぞれdateStyleとtimeStyleで指定されたスタイルに従ってフォーマットされます。
フィールドのサマリー
フィールド 修飾子と型 フィールド 説明 static StringSECONVERTER_IDこのコンバーターの標準コンバーター ID。static StringSEDATE_IDDateへの変換が失敗した場合に作成されるFacesMessageのメッセージ ID。static StringSEDATETIME_IDDateTimeへの変換が失敗した場合に作成されるFacesMessageのメッセージ ID。static StringSESTRING_IDstatic StringSETIME_IDTimeへの変換が失敗した場合に作成されるFacesMessageのメッセージ ID。インターフェース jakarta.faces.convert.Converter から継承されたフィールド
DATETIMECONVERTER_DEFAULT_TIMEZONE_IS_SYSTEM_TIMEZONE_PARAM_NAME
コンストラクターの概要
コンストラクター コンストラクター 説明 DateTimeConverter()
方法の概要
すべてのメソッド インスタンスメソッド 具象メソッド 修飾子と型 メソッド 説明 voidclearInitialState()PartialStateHolder を非デルタ追跡状態にリセットします。ObjectSEgetAsObject(FacesContext context, UIComponent component, StringSE value)リクエスト処理のライフサイクルのプロセス検証フェーズ中に格納されているに適したモデルデータオブジェクトに、指定さUIComponentに関連付けられている指定された文字列値を変換します。StringSEgetAsString(FacesContext context, UIComponent component, ObjectSE value)指定されたUIComponentに関連付けられている指定されたモデルオブジェクトの値を、リクエスト処理ライフサイクルのレスポンスのレンダリングフェーズ中に生成されるレスポンスに含めるのに適した文字列に変換します。StringSEgetDateStyle()日付のフォーマットまたは解析に使用されるスタイルを返します。LocaleSEgetLocale()日付と時刻を解析またはフォーマットするときに使用するLocaleを返します。StringSEgetPattern()日付と時刻のフォーマットおよび解析時に使用されるフォーマットパターンを返します。StringSEgetTimeStyle()時間のフォーマットまたは解析に使用されるスタイルを返します。TimeZoneSEgetTimeZone()時間値の解釈に使用されるTimeZoneを返します。StringSEgetType()フォーマットまたは解析する値の型を返します。booleaninitialStateMarked()デルタ状態の変更が追跡されている場合はtrueを返し、それ以外の場合はfalseを返します。booleanisTransient()true の場合、このインターフェースを実装するオブジェクトは、状態の保存または復元に参加してはなりません。voidmarkInitialState()ランタイムは、コンポーネントが初期状態であることを示すために、適切な時間にビュー内のこのインターフェースの各インスタンスでPartialStateHolder.markInitialState()メソッドが呼び出されることを確認する必要があります。voidrestoreState(FacesContext context, ObjectSE state)state オブジェクトのエントリから状態を復元するために必要な処理を実行します。ObjectSEsaveState(FacesContext context)インスタンスの状態をSerializableオブジェクトとして取得します。voidsetDateStyle(StringSE dateStyle)日付のフォーマットまたは解析に使用するスタイルを設定します。voidsetLocale(LocaleSE locale)日付と時刻を解析またはフォーマットするときに使用するLocaleを設定します。voidsetPattern(StringSE pattern)日付と時刻のフォーマットおよび解析時に使用するフォーマットパターンを設定します。voidsetTimeStyle(StringSE timeStyle)時間のフォーマットまたは解析に使用するスタイルを設定します。voidsetTimeZone(TimeZoneSE timeZone)時間値の解釈に使用されるTimeZoneを設定します。voidsetTransient(boolean transientFlag)このインターフェースを実装するオブジェクトが状態の保存または復元に参加する必要があるかどうかを示します。voidsetType(StringSE type)フォーマットまたは解析する値の型を設定します。
フィールドの詳細
DATE_ID
public static final StringSE DATE_ID
Dateへの変換が失敗した場合に作成されるFacesMessageのメッセージ ID。このメッセージのメッセージフォーマット文字列には、オプションで次のプレースホルダーを含めることができます。{0}は、変換されていない値に置き換えられます。{1}はサンプル値に置き換えられました。{2}は、値がこのメッセージを生成した入力コンポーネントのラベルであるStringに置き換えられました。
- 関連事項:
- 定数フィールド値
TIME_ID
public static final StringSE TIME_ID
Timeへの変換が失敗した場合に作成されるFacesMessageのメッセージ ID。このメッセージのメッセージフォーマット文字列には、オプションで次のプレースホルダーを含めることができます。{0}は、変換されていない値に置き換えられます。{1}はサンプル値に置き換えられました。{2}は、値がこのメッセージを生成した入力コンポーネントのラベルであるStringに置き換えられました。
- 関連事項:
- 定数フィールド値
DATETIME_ID
public static final StringSE DATETIME_ID
DateTimeへの変換が失敗した場合に作成されるFacesMessageのメッセージ ID。このメッセージのメッセージフォーマット文字列には、オプションで次のプレースホルダーを含めることができます。{0}は、変換されていない値に置き換えられます。{1}はサンプル値に置き換えられました。{2}は、値がこのメッセージを生成した入力コンポーネントのラベルであるStringに置き換えられました。
- 関連事項:
- 定数フィールド値
STRING_ID
public static final StringSE STRING_ID
DateTime値のStringへの変換が失敗した場合に作成されるFacesMessageのメッセージ ID。このメッセージのメッセージフォーマット文字列には、オプションで次のプレースホルダーを含めることができます。{0}は、変換されていない値に置き換えられます。{1}は、値がこのメッセージを生成した入力コンポーネントのラベルであるStringに置き換えられました。
- 関連事項:
- 定数フィールド値
メソッドの詳細
getDateStyle
public StringSE getDateStyle()
日付のフォーマットまたは解析に使用されるスタイルを返します。設定されていない場合、デフォルト値の
defaultが返されます。- 戻り値:
- スタイル
setDateStyle
public void setDateStyle(StringSE dateStyle)
日付のフォーマットまたは解析に使用するスタイルを設定します。有効な値は
default、short、medium、long、fullです。値が無効な場合、getAsObject()またはgetAsString()が呼び出されたときにConverterExceptionが発生します。- パラメーター:
dateStyle- 新しいスタイルコード
getLocale
public LocaleSE getLocale()
日付と時刻を解析またはフォーマットするときに使用する
Localeを返します。明示的に設定されていない場合は、現在のリクエストのUIViewRootに保存されているLocaleが返されます。- 戻り値:
Locale
setLocale
public void setLocale(LocaleSE locale)
日付と時刻を解析またはフォーマットするときに使用する
Localeを設定します。nullに設定すると、現在のリクエストのUIViewRootに保存されているLocaleが使用されます。- パラメーター:
locale- 新しいLocale(またはnull)
getPattern
public StringSE getPattern()
日付と時刻のフォーマットおよび解析時に使用されるフォーマットパターンを返します。
- 戻り値:
- パターン
setPattern
public void setPattern(StringSE pattern)
日付と時刻をフォーマットおよび解析するときに使用するフォーマットパターンを設定します。有効な値は、
java.text.SimpleDateFormatでサポートされている値です。無効な値を指定すると、getAsObject()またはgetAsString()が呼び出されたときにConverterExceptionが発生します。- パラメーター:
pattern- 新しいフォーマットパターン
getTimeStyle
public StringSE getTimeStyle()
時間のフォーマットまたは解析に使用するスタイルを返します。設定されていない場合、デフォルト値の
defaultが返されます。- 戻り値:
- タイムスタイル
setTimeStyle
public void setTimeStyle(StringSE timeStyle)
時間のフォーマットまたは解析に使用するスタイルを設定します。有効な値は
default、short、medium、long、fullです。値が無効な場合、getAsObject()またはgetAsString()が呼び出されたときにConverterExceptionが発生します。- パラメーター:
timeStyle- 新しいスタイルコード
getTimeZone
public TimeZoneSE getTimeZone()
時間値の解釈に使用される
TimeZoneを返します。明示的に設定されていない場合、GMTのデフォルトのタイムゾーンが返されます。- 戻り値:
TimeZone
setTimeZone
public void setTimeZone(TimeZoneSE timeZone)
時間値の解釈に使用される
TimeZoneを設定します。- パラメーター:
timeZone- 新しいタイムゾーン
getType
public StringSE getType()
フォーマットまたは解析する値の型を返します。明示的に設定されていない場合、デフォルトの型である
dateが返されます。- 戻り値:
- 型
setType
public void setType(StringSE type)
フォーマットまたは解析する値の型を設定します。有効な値は、
both、date、timelocalDate、localDateTime、localTime、offsetTime、offsetDateTime、またはzonedDateTimeです。"local"、"offset"、"zoned" で始まる値は、パッケージjava.timeの Java SE 8 Date Time API クラスに対応し、名前は大文字の最初の文字から派生します。例: 値"localDate"の場合はjava.time.LocalDate。無効な値を指定すると、getAsObject()またはgetAsString()が呼び出されたときにConverterExceptionが発生します。- パラメーター:
type- 新しい日付スタイル
getAsObject
public ObjectSE getAsObject(FacesContext context, UIComponent component, StringSE value)
インターフェースからコピーされた説明:Converterリクエスト処理のライフサイクルのプロセス検証フェーズ中に格納されているに適したモデルデータオブジェクトに、指定さ
UIComponentに関連付けられている指定された文字列値を変換します。- 次で指定:
- インターフェース
ConverterのgetAsObject - パラメーター:
context- 処理中のリクエストのFacesContextcomponent- このモデルオブジェクト値が関連付けられているUIComponentvalue- 変換する文字列値 (nullの場合があります)- 戻り値:
- 変換する値が
nullの場合はnull、それ以外の場合は変換の結果 - 例外:
ConverterException- 変換が正常に実行できない場合NullPointerExceptionSE-contextまたはcomponentがnullの場合
getAsString
public StringSE getAsString(FacesContext context, UIComponent component, ObjectSE value)
インターフェースからコピーされた説明:Converter指定された
UIComponentに関連付けられている指定されたモデルオブジェクトの値を、リクエスト処理ライフサイクルのレスポンスのレンダリングフェーズ中に生成されるレスポンスに含めるのに適した文字列に変換します。- 次で指定:
- インターフェース
ConverterのgetAsString - パラメーター:
context- 処理中のリクエストのFacesContextcomponent- このモデルオブジェクト値が関連付けられているUIComponentvalue- 変換するモデルオブジェクトの値 (nullの場合があります)- 戻り値:
- 値が
nullの場合は長さ 0 の文字列、それ以外の場合は変換の結果 - 例外:
ConverterException- 変換が正常に実行できない場合NullPointerExceptionSE-contextまたはcomponentがnullの場合
saveState
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 コンテキスト。- 戻り値:
- 保存された状態。
restoreState
public void restoreState(FacesContext context, ObjectSE state)
インターフェースからコピーされた説明:StateHolderstate オブジェクトのエントリから状態を復元するために必要な処理を実行します。
このインターフェースを実装するクラスが、StateHolder も実装するインスタンスへの参照を持っている場合(イベントハンドラー、バリデーターなどを備えた
UIComponentなど)、このメソッドはそれらすべてのインスタンスでStateHolder.restoreState(jakarta.faces.context.FacesContext, java.lang.Object)メソッドも呼び出す必要があります。state引数がnullの場合、アクションを実行せずに戻ります。- 次で指定:
- インターフェース
StateHolderのrestoreState - パラメーター:
context- Faces コンテキスト。state- 状態。
isTransient
public boolean isTransient()
インターフェースからコピーされた説明:StateHoldertrue の場合、このインターフェースを実装するオブジェクトは、状態の保存または復元に参加してはなりません。
- 次で指定:
- インターフェース
StateHolderのisTransient - 戻り値:
- 一時的な場合は
true、それ以外の場合はfalse。
setTransient
public void setTransient(boolean transientFlag)
インターフェースからコピーされた説明:StateHolderこのインターフェースを実装するオブジェクトが状態の保存または復元に参加する必要があるかどうかを示します。
- 次で指定:
- インターフェース
StateHolderのsetTransient - パラメーター:
transientFlag- このオブジェクトが 状態の保存または復元に参加しない場合はブール値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