1 package com.github.mygreen.cellformatter;
2
3 import java.util.Locale;
4
5
6 /**
7 * セルのフォーマッタの共通インタフェース
8 *
9 * @version 0.10
10 * @author T.TSUCHIE
11 *
12 */
13 public abstract class CellFormatter {
14
15 /**
16 * セルの値をフォーマットする
17 * @param cell フォーマット対象のセル。
18 * @return フォーマットした結果。
19 * @throws IllegalArgumentException {@literal cell == null.}
20 */
21 public CellFormatResult format(final CommonCell cell) {
22 return format(cell, Locale.getDefault());
23 }
24
25 /**
26 * セルの値をロケールを指定してフォーマットする
27 * @param cell フォーマット対象のセル。
28 * @param locale ロケール。指定しない場合は、実行環境のロケールが設定される。
29 * @return フォーマットした結果。
30 * @throws IllegalArgumentException {@literal cell == null.}
31 */
32 public abstract CellFormatResult format(final CommonCell cell, final Locale locale);
33
34 /**
35 * 書式を取得する
36 * @since 0.10
37 * @return フォーマッタの書式
38 */
39 public String getPattern() {
40 return getPattern(Locale.getDefault());
41 }
42
43 /**
44 * ロケールを指定して書式を取得する
45 * @since 0.10
46 * @param locale ロケール。指定しない場合は、実行環境のロケールが設定される。
47 * @return フォーマッタの書式
48 */
49 public abstract String getPattern(final Locale locale);
50
51
52 }