@Published
public class CsvDataBindConfig
extends java.lang.Object
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 - 新しい列区切り文字CsvDataBindConfigpublic java.lang.String getLineSeparator()
public CsvDataBindConfig withLineSeparator(java.lang.String newLineSeparator)
newLineSeparator - 改行文字CsvDataBindConfigpublic char getQuote()
public CsvDataBindConfig withQuote(char newQuote)
newQuote - フィールド囲み文字CsvDataBindConfigpublic boolean isIgnoreEmptyLine()
truepublic CsvDataBindConfig withIgnoreEmptyLine()
CsvDataBindConfigpublic CsvDataBindConfig withIgnoreEmptyLine(boolean newOption)
newOption - 空行を無視する場合trueCsvDataBindConfigpublic boolean isRequiredHeader()
truepublic CsvDataBindConfig withRequiredHeader()
CsvDataBindConfigpublic CsvDataBindConfig withRequiredHeader(boolean newOption)
newOption - ヘッダーが必須な場合trueCsvDataBindConfigpublic java.lang.String[] getHeaderTitles()
public CsvDataBindConfig withHeaderTitles(java.lang.String... newHeaderTitles)
newHeaderTitles - ヘッダー行(タイトル行)に出力するタイトルCsvDataBindConfigpublic java.lang.String[] getProperties()
public CsvDataBindConfig withProperties(java.lang.String... newProperties)
newProperties - プロパティ名リストCsvDataBindConfigpublic 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 - 文字コードCsvDataBindConfigpublic CsvDataBindConfig withCharset(java.nio.charset.Charset newCharset)
newCharset - 文字コードCsvDataBindConfigpublic boolean isEmptyToNull()
truepublic CsvDataBindConfig withEmptyToNull(boolean newEmptyToNull)
newEmptyToNull - nullに置き換える場合はtrueCsvDataBindConfigpublic CsvDataBindConfig.QuoteMode getQuoteMode()
public CsvDataBindConfig withQuoteMode(CsvDataBindConfig.QuoteMode newQuoteMode)
newQuoteMode - フィールド囲み文字で囲むフィールドを指定するモードCsvDataBindConfigpublic java.util.List getQuotedColumnNames()
CsvDataBindConfig.getQuote())で囲むフィールドのリストを取得する。public CsvDataBindConfig withQuotedColumnNames(java.lang.String... fieldNames)
CsvDataBindConfig.getQuote()で囲むフィールドのリストを設定する。
CsvDataBindConfig.getQuoteMode()がCsvDataBindConfig.QuoteMode.CUSTOMの場合に、
設定したフィールドがフィールド囲み文字で囲まれる。fieldNames - フィールド囲み文字で囲むフィールド名称CsvDataBindConfigpublic void verify()