public abstract class CalendarNameProvider extends LocaleServiceProvider
Calendar
フィールド値のローカライズされた文字列表現(表示名)を提供するサービス・プロバイダの抽象クラス。
カレンダ・タイプは、getDisplayName
およびgetDisplayNames
メソッドがカレンダ・フィールド値名を提供する暦体系を指定するために使用します。 詳細は、Calendar.getCalendarType()
を参照してください。
カレンダ・フィールド
カレンダ・フィールドは、Calendar
に定義された定数で指定されます。 各暦体系でサポートされているカレンダの一般的なフィールドとそれらの値を次に示します。
フィールド | 値 | 説明 |
---|---|---|
Calendar.MONTH |
Calendar.JANUARY からCalendar.UNDECIMBER |
月の番号付けは0から始まります(例: 0 - 1月、...、11 - 12月)。 一部の暦体系には13か月あります。 月の名前は、サポートされるロケールで必要な場合に、書式設定とスタンドアロン形式の両方でサポートされている必要があります。 2つの形式に区別がない場合は、両方の形式で同じ名前を返すようにしてください。 |
Calendar.DAY_OF_WEEK |
Calendar.SUNDAY からCalendar.SATURDAY |
曜日の番号付けは日曜日の1から始まります(つまり、1 - 日曜日、...、7 - 土曜日)。 |
Calendar.AM_PM |
Calendar.AM からCalendar.PM |
0 - 午前、1 - 午後 |
サポートされるカレンダ固有のフィールドとそれらの値を次に示します。
カレンダ・タイプ | フィールド | 値 | 説明 |
---|---|---|---|
"gregory" |
Calendar.ERA |
0 | GregorianCalendar.BC (BCE) |
1 | GregorianCalendar.AD (CE) |
||
"buddhist" |
Calendar.ERA |
0 | BC (BCE) |
1 | B.E. (仏暦紀元) | ||
"japanese" |
Calendar.ERA |
0 | 西暦(明治以前) |
1 | 明治 | ||
2 | 大正 | ||
3 | 昭和 | ||
4 | 平成 | ||
5 | 令和 | ||
Calendar.YEAR |
1 | 各紀元の最初の年。 長いスタイル(Calendar.LONG_FORMAT またはCalendar.LONG_STANDALONE )が指定されている場合に、返すようにしてください。 SimpleDateFormat の年の表現も参照してください。 |
|
"roc" |
Calendar.ERA |
0 | R.O.C.前 |
1 | R.O.C. | ||
"islamic" |
Calendar.ERA |
0 | AH前 |
1 | ヒジュラ暦紀元(AH) |
"gregory"
のカレンダ・フィールド値の名前は、DateFormatSymbolsProvider
によって指定された日付/時間記号と一致している必要があります。
タイム・ゾーン名はTimeZoneNameProvider
によってサポートされます。
- 導入されたバージョン:
- 1.8
- 関連項目:
CalendarDataProvider
,Locale.getUnicodeLocaleType(String)
-
コンストラクタのサマリー
コンストラクタ 修飾子 コンストラクタ 説明 protected
CalendarNameProvider()
唯一のコンストラクタです。 -
メソッドのサマリー
修飾子と型 メソッド 説明 abstract String
getDisplayName(String calendarType, int field, int value, int style, Locale locale)
指定されたstyle
とlocale
のカレンダfield
値の文字列表現(表示名)を返します。abstract Map<String,Integer>
getDisplayNames(String calendarType, int field, int style, Locale locale)
指定されたstyle
およびlocale
のCalendar
field
のすべての文字列表現(表示名)とそれらに対応するフィールド値を含むMap
を返します。
-
コンストラクタの詳細
-
CalendarNameProvider
protected CalendarNameProvider()唯一のコンストラクタです。 (サブクラスのコンストラクタによる呼出し用で、通常は暗黙的に呼び出されます。)
-
-
メソッドの詳細
-
getDisplayName
public abstract String getDisplayName(String calendarType, int field, int value, int style, Locale locale)指定されたstyle
とlocale
のカレンダfield
値の文字列表現(表示名)を返します。 適用できる文字列表現がない場合は、null
が返されます。field
はCalendar.MONTH
などのCalendar
フィールド・インデックスです。 タイム・ゾーンフィールドのCalendar.ZONE_OFFSET
およびCalendar.DST_OFFSET
はこのメソッドでサポートされていません。いずれかのタイム・ゾーン・フィールドが指定されている場合は、null
を返す必要があります。value
はfield
値の数値表現です。 たとえば、field
がCalendar.DAY_OF_WEEK
の場合、有効な値はCalendar.SUNDAY
からCalendar.SATURDAY
(この値を含む)です。style
は文字列表現のスタイルを指定します。 それは、Calendar.SHORT_FORMAT
(SHORT
)、Calendar.SHORT_STANDALONE
、Calendar.LONG_FORMAT
(LONG
)、Calendar.LONG_STANDALONE
、Calendar.NARROW_FORMAT
、Calendar.NARROW_STANDALONE
のいずれかです。たとえば、次の呼び出しは
"Sunday"
を返します。getDisplayName("gregory", Calendar.DAY_OF_WEEK, Calendar.SUNDAY, Calendar.LONG_STANDALONE, Locale.ENGLISH);
- パラメータ:
calendarType
- カレンダ・タイプ。 (locale
によって指定されるカレンダ・タイプは無視されます。)field
-Calendar
フィールド・インデックス、Calendar.DAY_OF_WEEK
などvalue
-Calendar field
の値、Calendar.MONDAY
などstyle
- 文字列表現スタイル:Calendar.SHORT_FORMAT
(SHORT
)、Calendar.SHORT_STANDALONE
、Calendar.LONG_FORMAT
(LONG
)、Calendar.LONG_STANDALONE
、Calendar.NARROW_FORMAT
、Calendar.NARROW_STANDALONE
のいずれかlocale
- 目的のロケール- 戻り値:
field value
の文字列表現。適用できる文字列表現がないか、または指定されたカレンダ・タイプが不明な場合は、null
。- 例外:
IllegalArgumentException
-field
またはstyle
が無効な場合NullPointerException
-locale
がnull
である場合- 関連項目:
TimeZoneNameProvider
,Calendar.get(int)
,Calendar.getDisplayName(int, int, Locale)
-
getDisplayNames
public abstract Map<String,Integer> getDisplayNames(String calendarType, int field, int style, Locale locale)指定されたstyle
およびlocale
のCalendar
field
のすべての文字列表現(表示名)とそれらに対応するフィールド値を含むMap
を返します。field
はCalendar.MONTH
などのCalendar
フィールド・インデックスです。 タイム・ゾーンフィールドのCalendar.ZONE_OFFSET
およびCalendar.DST_OFFSET
はこのメソッドでサポートされていません。いずれかのタイム・ゾーン・フィールドが指定されている場合は、null
を返す必要があります。style
は文字列表現のスタイルを指定します。Calendar.ALL_STYLES
、Calendar.SHORT_FORMAT
(SHORT
)、Calendar.SHORT_STANDALONE
、Calendar.LONG_FORMAT
(LONG
)、Calendar.LONG_STANDALONE
、Calendar.NARROW_FORMAT
、Calendar.NARROW_STANDALONE
のいずれかである必要があります。 縮小名は、SundayとSaturdayの「S」など、1文字を使用するために一意でないことがあり、その場合に縮小名を含めないことに注意してください。たとえば、次の呼び出しは、
"January"
からCalendar.JANUARY
、"Jan"
からCalendar.JANUARY
、"February"
からCalendar.FEBRUARY
、"Feb"
からCalendar.FEBRUARY
というように含むMap
を返します。getDisplayNames("gregory", Calendar.MONTH, Calendar.ALL_STYLES, Locale.ENGLISH);
- パラメータ:
calendarType
- カレンダ・タイプ。 (locale
によって指定されるカレンダ・タイプは無視されます。)field
- 表示名が返されるカレンダ・フィールドstyle
- 表示名に適用されるスタイル。Calendar.ALL_STYLES
、Calendar.SHORT_FORMAT
(SHORT
)、Calendar.SHORT_STANDALONE
、Calendar.LONG_FORMAT
(LONG
),Calendar.LONG_STANDALONE
、Calendar.NARROW_FORMAT
、Calendar.NARROW_STANDALONE
のいずれかlocale
- 目的のロケール- 戻り値:
style
とlocale
で、field
のすべての表示名とそれらのfield
値を含むMap
。field
に表示名が定義されていない場合は、null
- 例外:
NullPointerException
-locale
がnull
である場合- 関連項目:
Calendar.getDisplayNames(int, int, Locale)
-