Class ByteStreamDataString
java.lang.Object
nablarch.core.dataformat.convertor.datatype.DataType<F,byte[]>
nablarch.core.dataformat.convertor.datatype.ByteStreamDataSupport<String>
nablarch.core.dataformat.convertor.datatype.ByteStreamDataString
- Direct Known Subclasses:
DoubleByteCharacterString
,SingleByteCharacterString
バイトストリームで入出力する文字列のデータタイプ。
本クラスは入力時にパディング、出力時にトリムを行う。
本データタイプは、バイトデータをそのまま文字として読み込む。
通常、バイト長の異なる文字が混在するフィールドを扱う場合や、UTF-8のファイルを読み書きする場合、
全角文字のパディングに半角スペースを使用する場合に、本データタイプを使用する。
本クラスを使用する場合、パディング/トリム文字として指定できるのはシングルバイト文字のみである。
また、デフォルトではパディング/トリム文字として半角スペースを使用するが、個別にパディング/トリム文字を指定することもできる。
文字列のバイト長がシングルバイトで統一されているフィールドを読み書きする場合はSingleByteCharacterString
、
ダブルバイトで統一されている場合はDoubleByteCharacterString
を使用すること。
-
Field Summary
Fields inherited from class nablarch.core.dataformat.convertor.datatype.DataType
convertEmptyToNull
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionconvertOnRead
(byte[] bytes) 入力時に読み込んだデータを変換する。byte[]
convertOnWrite
(Object data) 出力時に書き込むデータの変換を行う。protected String
パディング/トリム処理で使用するデフォルトの文字を返却する。protected byte[]
パディングに使用する文字のバイト配列を返却する。protected int
パディング/トリム文字として許容するバイト長を返却する。protected String
パディング/トリム処理で使用する文字列を返却する。 パディング/トリム文字列が指定されていない場合、デフォルトで半角スペースを使用する。initialize
(Object... args) 初期化処理を行う。Methods inherited from class nablarch.core.dataformat.convertor.datatype.ByteStreamDataSupport
getSize, setSize
Methods inherited from class nablarch.core.dataformat.convertor.datatype.DataType
getField, init, removePadding, setConvertEmptyToNull
-
Constructor Details
-
ByteStreamDataString
public ByteStreamDataString()
-
-
Method Details
-
initialize
初期化処理を行う。- Specified by:
initialize
in classDataType<String,
byte[]> - Parameters:
args
- データタイプのパラメータ- Returns:
- 初期化されたデータタイプ (通常はthisをリターンする)
-
convertOnRead
入力時に読み込んだデータを変換する。 この実装では、入力時に、引数のバイト配列を1バイト文字に変換して返却する。 また、変換の際に指定された文字でトリムを行う。デフォルトのトリム文字として半角スペースを使用する。 トリム後の文字列が空文字列かつ空文字列をnull
に変換する設定がされている場合はnull
を返却する。- Specified by:
convertOnRead
in classDataType<String,
byte[]> - Parameters:
bytes
- フィールドの値データ- Returns:
- 変換後の値
-
convertOnWrite
出力時に書き込むデータの変換を行う。 この実装では、出力時に、引数のオブジェクト(文字列など)をバイト配列に変換して返却する。 また、変換の際に指定された文字でパディングを行う。デフォルトのパディング文字として半角スペースを使用する。- Specified by:
convertOnWrite
in classDataType<String,
byte[]> - Parameters:
data
- 書き込みを行うデータ- Returns:
- 変換後の値
-
getPaddingStr
パディング/トリム処理で使用する文字列を返却する。 パディング/トリム文字列が指定されていない場合、デフォルトで半角スペースを使用する。- Returns:
- パディング/トリム処理で使用する文字列
-
getDefaultPaddingStr
パディング/トリム処理で使用するデフォルトの文字を返却する。本メソッドをオーバーライドすることで、パディング/トリム処理で使用するデフォルトの文字列を変更できる。
- Returns:
- パディング/トリム処理で使用するデフォルトの文字列
-
getPaddingCharLength
protected int getPaddingCharLength()パディング/トリム文字として許容するバイト長を返却する。 本メソッドをオーバーライドすることで、パディング/トリム文字として許容するバイト長を変更できる。- Returns:
- パディング/トリム文字として許容するバイト長
-
getPaddingBytes
protected byte[] getPaddingBytes()パディングに使用する文字のバイト配列を返却する。- Returns:
- パディングに使用するバイトデータ
-