public class DateTimeConverter extends ObjectSE implements Converter, PartialStateHolder
java.util.Date
値の Converter
実装。
getAsObject()
メソッドは、次のアルゴリズムに従って、文字列を java.util.Date
に解析します。
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
(またはサブクラス)の値を予期し、次のアルゴリズムに従ってフォーマットされた文字列を作成します。
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 StringSE | CONVERTER_ID このコンバーターの標準コンバーター ID。 |
static StringSE | DATE_ID Date への変換が失敗した場合に作成される FacesMessage のメッセージ ID。 |
static StringSE | DATETIME_ID DateTime への変換が失敗した場合に作成される FacesMessage のメッセージ ID。 |
static StringSE | STRING_ID |
static StringSE | TIME_ID Time への変換が失敗した場合に作成される FacesMessage のメッセージ ID。 |
DATETIMECONVERTER_DEFAULT_TIMEZONE_IS_SYSTEM_TIMEZONE_PARAM_NAME
コンストラクターと説明 |
---|
DateTimeConverter() |
修飾子と型 | メソッドと説明 |
---|---|
void | clearInitialState() PartialStateHolder を非デルタ追跡状態にリセットします。 |
ObjectSE | getAsObject(FacesContext context, UIComponent component, StringSE value) リクエスト処理のライフサイクルのプロセス検証フェーズ中に格納されているに適したモデルデータオブジェクトに、指定さ UIComponent に関連付けられている指定された文字列値を変換します。 |
StringSE | getAsString(FacesContext context, UIComponent component, ObjectSE value) 指定された UIComponent に関連付けられている指定されたモデルオブジェクトの値を、リクエスト処理ライフサイクルのレスポンスのレンダリングフェーズ中に生成されるレスポンスに含めるのに適した文字列に変換します。 |
StringSE | getDateStyle() 日付のフォーマットまたは解析に使用されるスタイルを返します。 |
LocaleSE | getLocale() 日付と時刻を解析またはフォーマットするときに使用する Locale を返します。 |
StringSE | getPattern() 日付と時刻のフォーマットおよび解析時に使用されるフォーマットパターンを返します。 |
StringSE | getTimeStyle() 時間のフォーマットまたは解析に使用されるスタイルを返します。 |
TimeZoneSE | getTimeZone() 時間値の解釈に使用される TimeZone を返します。 |
StringSE | getType() フォーマットまたは解析する値の型を返します。 |
boolean | initialStateMarked() デルタ状態の変更が追跡されている場合は |
boolean | isTransient() true の場合、このインターフェースを実装するオブジェクトは、状態の保存または復元に参加してはなりません。 |
void | markInitialState() ランタイムは、コンポーネントが初期状態であることを示すために、適切な時間にビュー内のこのインターフェースの各インスタンスで |
void | restoreState(FacesContext context, ObjectSE state) state オブジェクトのエントリから状態を復元するために必要な処理を実行します。 |
ObjectSE | saveState(FacesContext context) インスタンスの状態を Serializable オブジェクトとして取得します。 |
void | setDateStyle(StringSE dateStyle) 日付のフォーマットまたは解析に使用するスタイルを設定します。 |
void | setLocale(LocaleSE locale) 日付と時刻を解析またはフォーマットするときに使用する Locale を設定します。 |
void | setPattern(StringSE pattern) 日付と時刻のフォーマットおよび解析時に使用するフォーマットパターンを設定します。 |
void | setTimeStyle(StringSE timeStyle) 時間のフォーマットまたは解析に使用するスタイルを設定します。 |
void | setTimeZone(TimeZoneSE timeZone) 時間値の解釈に使用される TimeZone を設定します。 |
void | setTransient(boolean transientFlag) このインターフェースを実装するオブジェクトが状態の保存または復元に参加する必要があるかどうかを示します。 |
void | setType(StringSE type) フォーマットまたは解析する値の型を設定します。 |
cloneSE, equalsSE, finalizeSE, getClassSE, hashCodeSE, notifySE, notifyAllSE, toStringSE, waitSE, waitSE, waitSE
public static final StringSE DATE_ID
Date
への変換が失敗した場合に作成される FacesMessage
のメッセージ ID。このメッセージのメッセージフォーマット文字列には、オプションで次のプレースホルダーを含めることができます。
{0}
は、変換されていない値に置き換えられます。{1}
はサンプル値に置き換えられました。{2}
は、値がこのメッセージを生成した入力コンポーネントのラベルである String
に置き換えられました。public static final StringSE TIME_ID
Time
への変換が失敗した場合に作成される FacesMessage
のメッセージ ID。このメッセージのメッセージフォーマット文字列には、オプションで次のプレースホルダーを含めることができます。
{0}
は、変換されていない値に置き換えられます。{1}
はサンプル値に置き換えられました。{2}
は、値がこのメッセージを生成した入力コンポーネントのラベルである String
に置き換えられました。public static final StringSE DATETIME_ID
DateTime
への変換が失敗した場合に作成される FacesMessage
のメッセージ ID。このメッセージのメッセージフォーマット文字列には、オプションで次のプレースホルダーを含めることができます。
{0}
は、変換されていない値に置き換えられます。{1}
はサンプル値に置き換えられました。{2}
は、値がこのメッセージを生成した入力コンポーネントのラベルである String
に置き換えられました。public static final StringSE STRING_ID
DateTime
値の String
への変換が失敗した場合に作成される FacesMessage
のメッセージ ID。このメッセージのメッセージフォーマット文字列には、オプションで次のプレースホルダーを含めることができます。
{0}
は、変換されていない値に置き換えられます。{1}
は、値がこのメッセージを生成した入力コンポーネントのラベルである String
に置き換えられました。public StringSE getDateStyle()
日付のフォーマットまたは解析に使用されるスタイルを返します。設定されていない場合、デフォルト値の default
が返されます。
public void setDateStyle(StringSE dateStyle)
日付のフォーマットまたは解析に使用するスタイルを設定します。有効な値は default
、short
、medium
、long
、full
です。値が無効な場合、getAsObject()
または getAsString()
が呼び出されたときに ConverterException
が発生します。
dateStyle
- 新しいスタイルコード public LocaleSE getLocale()
日付と時刻を解析またはフォーマットするときに使用する Locale
を返します。明示的に設定されていない場合は、現在のリクエストの UIViewRoot
に保存されている Locale
が返されます。
Locale
public void setLocale(LocaleSE locale)
日付と時刻を解析またはフォーマットするときに使用する Locale
を設定します。null
に設定すると、現在のリクエストの UIViewRoot
に保存されている Locale
が使用されます。
locale
- 新しい Locale
(または null
)public StringSE getPattern()
日付と時刻のフォーマットおよび解析時に使用されるフォーマットパターンを返します。
public void setPattern(StringSE pattern)
日付と時刻をフォーマットおよび解析するときに使用するフォーマットパターンを設定します。有効な値は、java.text.SimpleDateFormat
でサポートされている値です。無効な値を指定すると、getAsObject()
または getAsString()
が呼び出されたときに ConverterException
が発生します。
pattern
- 新しいフォーマットパターン public StringSE getTimeStyle()
時間のフォーマットまたは解析に使用するスタイルを返します。設定されていない場合、デフォルト値の default
が返されます。
public void setTimeStyle(StringSE timeStyle)
時間のフォーマットまたは解析に使用するスタイルを設定します。有効な値は default
、short
、medium
、long
、full
です。値が無効な場合、getAsObject()
または getAsString()
が呼び出されたときに ConverterException
が発生します。
timeStyle
- 新しいスタイルコード public TimeZoneSE getTimeZone()
時間値の解釈に使用される TimeZone
を返します。明示的に設定されていない場合、GMT
のデフォルトのタイムゾーンが返されます。
TimeZone
public void setTimeZone(TimeZoneSE timeZone)
時間値の解釈に使用される TimeZone
を設定します。
timeZone
- 新しいタイムゾーン public StringSE getType()
フォーマットまたは解析する値の型を返します。明示的に設定されていない場合、デフォルトの型である date
が返されます。
public void setType(StringSE type)
フォーマットまたは解析する値の型を設定します。有効な値は、both
、date
、time
localDate
、localDateTime
、localTime
、offsetTime
、offsetDateTime
、または zonedDateTime
です。"local"、"offset"、"zoned" で始まる値は、パッケージ java.time
の Java SE 8 Date Time API クラスに対応し、名前は大文字の最初の文字から派生します。例: 値 "localDate"
の場合は java.time.LocalDate
。無効な値を指定すると、getAsObject()
または getAsString()
が呼び出されたときに ConverterException
が発生します。
type
- 新しい日付スタイル public ObjectSE getAsObject(FacesContext context, UIComponent component, StringSE value)
Converter
リクエスト処理のライフサイクルのプロセス検証フェーズ中に格納されているに適したモデルデータオブジェクトに、指定さ UIComponent
に関連付けられている指定された文字列値を変換します。
Converter
の getAsObject
context
- 処理中のリクエストの FacesContext
component
- このモデルオブジェクト値が関連付けられている UIComponent
value
- 変換する文字列値 (null
の場合があります)null
の場合は null
、それ以外の場合は変換の結果 ConverterException
- 変換が正常に実行できない場合 NullPointerExceptionSE
- context
または component
が null
の場合 public StringSE getAsString(FacesContext context, UIComponent component, ObjectSE value)
Converter
指定された UIComponent
に関連付けられている指定されたモデルオブジェクトの値を、リクエスト処理ライフサイクルのレスポンスのレンダリングフェーズ中に生成されるレスポンスに含めるのに適した文字列に変換します。
Converter
の getAsString
context
- 処理中のリクエストの FacesContext
component
- このモデルオブジェクト値が関連付けられている UIComponent
value
- 変換するモデルオブジェクトの値 (null
の場合があります)null
の場合は長さ 0 の文字列、それ以外の場合は変換の結果 ConverterException
- 変換が正常に実行できない場合 NullPointerExceptionSE
- context
または component
が null
の場合 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 コンテキスト。public void restoreState(FacesContext context, ObjectSE state)
StateHolder
state オブジェクトのエントリから状態を復元するために必要な処理を実行します。
このインターフェースを実装するクラスが、StateHolder も実装するインスタンスへの参照を持っている場合(イベントハンドラー、バリデーターなどを備えた UIComponent
など)、このメソッドはそれらすべてのインスタンスで StateHolder.restoreState(jakarta.faces.context.FacesContext, java.lang.Object)
メソッドも呼び出す必要があります。
state
引数が null
の場合、アクションを実行せずに戻ります。
StateHolder
の restoreState
context
- Faces コンテキスト。state
- 状態。public boolean isTransient()
StateHolder
true の場合、このインターフェースを実装するオブジェクトは、状態の保存または復元に参加してはなりません。
StateHolder
の isTransient
true
、それ以外の場合は false
。public void setTransient(boolean transientFlag)
StateHolder
このインターフェースを実装するオブジェクトが状態の保存または復元に参加する必要があるかどうかを示します。
StateHolder
の setTransient
transientFlag
- このオブジェクトが 状態の保存または復元に参加しない場合はブール値 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.