@Published public class CsvDataBindConfig extends java.lang.Object implements DataBindConfig
CsvDataBindConfig.DEFAULT
オブジェクトを使用する。CsvDataBindConfig.CsvDataBindConfig(char, String, char, boolean, boolean, String[], String[], Charset, boolean, QuoteMode, List)
を使用しオブジェクトを生成するか、CsvDataBindConfig.DEFAULT
オブジェクトのセッタを実行して値を設定する。
下記にデフォルトの設定値を示す。
列区切り文字 --> "," 行区切り文字 --> "\r\n"(CRLF) フィールド囲み文字 --> """ 空行を無視するか否か --> 無視する(true) ヘッダ行が必須か否か --> 必須(true) ヘッダーに出力するタイトル --> 空のString型配列 プロパティ名リスト --> 空のString型配列 文字コード --> UTF-8 空のフィールドをnullに変換するか否か --> 変換する(true) フィールド囲み文字で囲む フィールドを指定するモード --> NORMAL(フィールド囲み文字、フィールド区切り文字、改行が存在するフィールドが対象となる) フィールド囲み文字で囲む フィールドのリスト --> 空のリスト
Modifier and Type | Class and Description |
---|---|
static class |
CsvDataBindConfig.QuoteMode
出力時にフィールド囲み文字で囲むフィールドを指定するモードの定義。
|
Modifier and Type | Field and Description |
---|---|
static CsvDataBindConfig |
DEFAULT
デフォルトのフォーマット定義
|
static CsvDataBindConfig |
EXCEL
EXCEL形式のCSVフォーマット定義
|
static CsvDataBindConfig |
RFC4180
RFC4180準拠のフォーマット定義
|
static CsvDataBindConfig |
TSV
タブ区切り(TSV)のフォーマット定義
|
Constructor and Description |
---|
CsvDataBindConfig(char fieldSeparator,
java.lang.String lineSeparator,
char quote,
boolean ignoreEmptyLine,
boolean requiredHeader,
java.lang.String[] headerTitles,
java.nio.charset.Charset charset,
boolean emptyToNull,
CsvDataBindConfig.QuoteMode quoteMode,
java.util.List quotedColumnNames)
CSVのフォーマット定義を生成する。
|
CsvDataBindConfig(char fieldSeparator,
java.lang.String lineSeparator,
char quote,
boolean ignoreEmptyLine,
boolean requiredHeader,
java.lang.String[] headerTitles,
java.lang.String[] properties,
java.nio.charset.Charset charset,
boolean emptyToNull,
CsvDataBindConfig.QuoteMode quoteMode,
java.util.List quotedColumnNames)
CSVのフォーマット定義を生成する。
|
Modifier and Type | Method and Description |
---|---|
java.nio.charset.Charset |
getCharset()
文字コードを取得する。
|
char |
getFieldSeparator()
列区切り文字を取得する。
|
java.lang.String[] |
getHeaderTitles()
ヘッダー行(タイトル行)に出力するタイトルのリスト。
|
java.lang.String[] |
getKeys()
オブジェクトにマッピングする際に使用するキーのリストを取得する。
|
java.lang.String |
getLineSeparator()
行区切り文字を取得する。
|
java.lang.String[] |
getProperties()
プロパティ名リストを取得する。
|
char |
getQuote()
フィールド囲み文字を取得する。
|
java.util.List |
getQuotedColumnNames()
出力時にフィールド囲み文字(
CsvDataBindConfig.getQuote() )で囲むフィールドのリストを取得する。 |
CsvDataBindConfig.QuoteMode |
getQuoteMode()
フィールド囲み文字で囲むフィールドを取得する。
|
boolean |
isEmptyToNull()
空フィールドをnullに置き換えるか否か。
|
boolean |
isIgnoreEmptyLine()
空行を無視するか否かを取得する。
|
boolean |
isRequiredHeader()
ヘッダー行(タイトル行)が必須か否か。
|
void |
verify()
コンフィグの妥当性検証を行う。
以下の場合に検証エラーとする。
ヘッダが必須でヘッダタイトルが未設定
ヘッダが任意でプロパティ名が未設定
ヘッダが必須でヘッダタイトルとプロパティ名のサイズが一致しない
|
CsvDataBindConfig |
withCharset(java.nio.charset.Charset newCharset)
文字コードを設定する。
|
CsvDataBindConfig |
withCharset(java.lang.String newCharset)
文字コードを設定する。
|
CsvDataBindConfig |
withEmptyToNull(boolean newEmptyToNull)
空フィールドをnullに置き換えるか否かを設定する。
|
CsvDataBindConfig |
withFieldSeparator(char newFieldSeparator)
列区切り文字を設定する。
|
CsvDataBindConfig |
withHeaderTitles(java.lang.String... newHeaderTitles)
ヘッダー行(タイトル行)に出力するタイトルを設定する。
|
CsvDataBindConfig |
withIgnoreEmptyLine()
空行を無視する。
|
CsvDataBindConfig |
withIgnoreEmptyLine(boolean newOption)
空行を無視するか否かを設定する。
|
CsvDataBindConfig |
withLineSeparator(java.lang.String newLineSeparator)
改行文字を設定する。
改行文字が(CR|LF|CRLF)以外の場合はエラーとする。
|
CsvDataBindConfig |
withProperties(java.lang.String... newProperties)
プロパティ名リストを設定する。
|
CsvDataBindConfig |
withQuote(char newQuote)
フィールド囲み文字を設定する。
|
CsvDataBindConfig |
withQuotedColumnNames(java.lang.String... fieldNames)
フィールド囲み文字(
CsvDataBindConfig.getQuote() で囲むフィールドのリストを設定する。
CsvDataBindConfig.getQuoteMode() がCsvDataBindConfig.QuoteMode.CUSTOM の場合に、
設定したフィールドがフィールド囲み文字で囲まれる。 |
CsvDataBindConfig |
withQuoteMode(CsvDataBindConfig.QuoteMode newQuoteMode)
出力時にフィールド囲み文字で囲むフィールドを設定する。
|
CsvDataBindConfig |
withRequiredHeader()
ヘッダー行(タイトル行)を必須に設定する。
|
CsvDataBindConfig |
withRequiredHeader(boolean newOption)
ヘッダー行(タイトル行)を必須とするか否かを設定する。
|
public static final CsvDataBindConfig DEFAULT
public static final CsvDataBindConfig RFC4180
public static final CsvDataBindConfig EXCEL
public static final CsvDataBindConfig TSV
public CsvDataBindConfig(char fieldSeparator, java.lang.String lineSeparator, char quote, boolean ignoreEmptyLine, boolean requiredHeader, java.lang.String[] headerTitles, java.nio.charset.Charset charset, boolean emptyToNull, CsvDataBindConfig.QuoteMode quoteMode, java.util.List quotedColumnNames)
fieldSeparator
- 列区切り文字lineSeparator
- 行区切り文字(\r\n(CRLF) or \r(CR) or \n(LF)であること)quote
- フィールド囲み文字ignoreEmptyLine
- 空行を無視するか否かrequiredHeader
- ヘッダ行(タイトル行)が必須か否かheaderTitles
- ヘッダーに出力するタイトルcharset
- 文字コードemptyToNull
- 空のフィールドをnullに変換するかどうかquoteMode
- 出力時にフィールド囲み文字で囲むフィールドを指定するモードquotedColumnNames
- フィールド囲み文字で囲むフィールドのリストjava.lang.IllegalArgumentException
- 行区切り文字が「\r\n(CRLF)・\r(CR)・\n(LF)」以外の場合public CsvDataBindConfig(char fieldSeparator, java.lang.String lineSeparator, char quote, boolean ignoreEmptyLine, boolean requiredHeader, java.lang.String[] headerTitles, java.lang.String[] properties, java.nio.charset.Charset charset, boolean emptyToNull, CsvDataBindConfig.QuoteMode quoteMode, java.util.List quotedColumnNames)
fieldSeparator
- 列区切り文字lineSeparator
- 行区切り文字(\r\n(CRLF) or \r(CR) or \n(LF)であること)quote
- フィールド囲み文字ignoreEmptyLine
- 空行を無視するか否かrequiredHeader
- ヘッダ行(タイトル行)が必須か否かheaderTitles
- ヘッダーに出力するタイトルproperties
- プロパティ名リストcharset
- 文字コードemptyToNull
- 空のフィールドをnullに変換するかどうかquoteMode
- 出力時にフィールド囲み文字で囲むフィールドを指定するモードquotedColumnNames
- フィールド囲み文字で囲むフィールドのリストjava.lang.IllegalArgumentException
- 行区切り文字が「\r\n(CRLF)・\r(CR)・\n(LF)」以外の場合public char getFieldSeparator()
public CsvDataBindConfig withFieldSeparator(char newFieldSeparator)
newFieldSeparator
- 新しい列区切り文字CsvDataBindConfig
public java.lang.String getLineSeparator()
public CsvDataBindConfig withLineSeparator(java.lang.String newLineSeparator)
newLineSeparator
- 改行文字CsvDataBindConfig
public char getQuote()
public CsvDataBindConfig withQuote(char newQuote)
newQuote
- フィールド囲み文字CsvDataBindConfig
public boolean isIgnoreEmptyLine()
true
public CsvDataBindConfig withIgnoreEmptyLine()
CsvDataBindConfig
public CsvDataBindConfig withIgnoreEmptyLine(boolean newOption)
newOption
- 空行を無視する場合true
CsvDataBindConfig
public boolean isRequiredHeader()
true
public CsvDataBindConfig withRequiredHeader()
CsvDataBindConfig
public CsvDataBindConfig withRequiredHeader(boolean newOption)
newOption
- ヘッダーが必須な場合true
CsvDataBindConfig
public java.lang.String[] getHeaderTitles()
public CsvDataBindConfig withHeaderTitles(java.lang.String... newHeaderTitles)
newHeaderTitles
- ヘッダー行(タイトル行)に出力するタイトルCsvDataBindConfig
public java.lang.String[] getProperties()
public CsvDataBindConfig withProperties(java.lang.String... newProperties)
newProperties
- プロパティ名リストCsvDataBindConfig
public java.lang.String[] getKeys()
CsvDataBindConfig.properties
が設定されていれば、CsvDataBindConfig.properties
をキーとして返す。
CsvDataBindConfig.properties
が設定されていなければ、CsvDataBindConfig.headerTitles
をキーとして返す。
public java.nio.charset.Charset getCharset()
public CsvDataBindConfig withCharset(java.lang.String newCharset)
newCharset
- 文字コードCsvDataBindConfig
public CsvDataBindConfig withCharset(java.nio.charset.Charset newCharset)
newCharset
- 文字コードCsvDataBindConfig
public boolean isEmptyToNull()
true
public CsvDataBindConfig withEmptyToNull(boolean newEmptyToNull)
newEmptyToNull
- nullに置き換える場合はtrue
CsvDataBindConfig
public CsvDataBindConfig.QuoteMode getQuoteMode()
public CsvDataBindConfig withQuoteMode(CsvDataBindConfig.QuoteMode newQuoteMode)
newQuoteMode
- フィールド囲み文字で囲むフィールドを指定するモードCsvDataBindConfig
public java.util.List getQuotedColumnNames()
CsvDataBindConfig.getQuote()
)で囲むフィールドのリストを取得する。public CsvDataBindConfig withQuotedColumnNames(java.lang.String... fieldNames)
CsvDataBindConfig.getQuote()
で囲むフィールドのリストを設定する。
CsvDataBindConfig.getQuoteMode()
がCsvDataBindConfig.QuoteMode.CUSTOM
の場合に、
設定したフィールドがフィールド囲み文字で囲まれる。fieldNames
- フィールド囲み文字で囲むフィールド名称CsvDataBindConfig
public void verify()