public abstract class DataFileFragment
extends java.lang.Object
Modifier and Type | Field and Description |
---|---|
protected DataFile |
container
この断片を包含するファイル
|
static java.lang.String |
FIRST_FIELD_NO
最初のフィールドの値(連番)が格納されるキー
|
protected java.util.List<java.lang.String> |
lengths
フィールド長
|
protected java.util.List<java.lang.String> |
names
フィールド名称
|
protected java.util.List<java.lang.String> |
types
データ型のシンボル
|
protected java.util.List<java.util.Map<java.lang.String,java.lang.String>> |
values
レコードのデータ
|
Modifier | Constructor and Description |
---|---|
protected |
DataFileFragment(DataFile container)
コンストラクタ。
|
Modifier and Type | Method and Description |
---|---|
void |
addValue(java.util.List<java.lang.String> line)
値を追加する。
|
void |
addValueWithId(java.util.List<java.lang.String> line,
java.lang.String no)
最初のフィールドの値(連番)を追加する。
|
protected abstract java.util.Map<java.lang.String,java.lang.Object> |
convertForDataRecord(java.util.Map<java.lang.String,java.lang.String> value)
テストデータ(文字列)から
DataRecord 用に値を変換する。 |
protected abstract java.lang.Object |
convertValue(java.lang.String fieldName,
java.lang.String stringExpression)
値の型変換を行う。
|
protected abstract FieldDefinition |
createFieldDefinition(int fieldIndex)
|
protected abstract ConvertorFactorySupport |
getConvertorFactorySupport()
コンバータの生成を行うクラスを取得する。
|
protected DataType |
getDataType(java.lang.String typeSymbol,
FieldDefinition field,
int length)
データタイプを取得する。
|
protected FieldDefinition |
getFieldDefinition(java.lang.String fieldName)
フィールド定義を取得する。
|
protected int |
getIndexOf(java.lang.String fieldName)
フィールド名からそのフィールドが格納されている位置(インデックス)を取得する。
|
protected int |
getLengthOf(java.lang.String fieldName)
フィールド名から、そのフィールドのフィールド長を取得する。
|
protected java.lang.String |
getTypeForTest(int fieldIndex)
フィールドに対するテスト用のデータ型シンボルを取得する。
|
protected java.lang.String |
getTypeOf(java.lang.String fieldName)
フィールド名から、そのフィールドのレコードタイプを取得する。
|
protected abstract boolean |
isSizeValid()
各要素のサイズが妥当であるかどうか判定する。
|
protected java.lang.Object |
removePadding(java.lang.String fieldName,
java.lang.Object value,
FixedLengthDataRecordFormatter formatter)
パディングを取り除く。
|
void |
setLengths(java.util.List<java.lang.String> lengths)
フィールド長を設定する。
フィールド長の要素数はフィールド名と同じでなければならない。 |
void |
setNames(java.util.List<java.lang.String> names)
フィールド名称を設定する。
|
void |
setRecordType(java.lang.String recordType)
レコード種別を設定する。
|
void |
setTypes(java.util.List<java.lang.String> types)
データ型のシンボルを設定する。
データ型の要素数はフィールド名と同じでなければならない。 |
java.lang.String |
toString() |
protected final DataFile container
protected java.util.List<java.lang.String> names
protected java.util.List<java.lang.String> types
protected java.util.List<java.lang.String> lengths
protected java.util.List<java.util.Map<java.lang.String,java.lang.String>> values
public static final java.lang.String FIRST_FIELD_NO
protected DataFileFragment(DataFile container)
container
- 本インスタンスが所属するファイルpublic void setRecordType(java.lang.String recordType)
recordType
- レコード種別public void addValue(java.util.List<java.lang.String> line)
line
- 行データpublic void addValueWithId(java.util.List<java.lang.String> line, java.lang.String no)
line
- 行データno
- 最初のフィールドの値(連番)public void setNames(java.util.List<java.lang.String> names)
names
- フィールド名称public void setTypes(java.util.List<java.lang.String> types)
types
- データ型のシンボルprotected java.lang.String getTypeForTest(int fieldIndex)
テスト用のデータ型シンボルは、通常typesのデータ型シンボルであるが、
"TEST_
例えば下記の様なデータ型がフィールド定義に存在していた場合を考える。
X |
X9 |
TEST_X9 |
typesに入ったデータ型 | X | X9 |
---|---|---|
戻り値のデータ型シンボル | X | TEST_X9 |
fieldIndex
- 対象となるフィールドのインデックスprotected abstract ConvertorFactorySupport getConvertorFactorySupport()
public void setLengths(java.util.List<java.lang.String> lengths)
lengths
- フィールド長protected abstract java.util.Map<java.lang.String,java.lang.Object> convertForDataRecord(java.util.Map<java.lang.String,java.lang.String> value)
DataRecord
用に値を変換する。value
- 元の値(文字列)protected abstract java.lang.Object convertValue(java.lang.String fieldName, java.lang.String stringExpression)
fieldName
- フィールド名称stringExpression
- 処理対象フィールドの文字列表現protected final java.lang.String getTypeOf(java.lang.String fieldName)
fieldName
- フィールド名protected final int getIndexOf(java.lang.String fieldName)
fieldName
- フィールド名protected FieldDefinition getFieldDefinition(java.lang.String fieldName)
fieldName
- フィールド名protected java.lang.Object removePadding(java.lang.String fieldName, java.lang.Object value, FixedLengthDataRecordFormatter formatter)
fieldName
- フィールド名称value
- 処理対象となる値formatter
- バディング除去用のフォーマッタprotected DataType getDataType(java.lang.String typeSymbol, FieldDefinition field, int length)
typeSymbol
- データタイプ名field
- フィールド定義length
- フィールド長protected abstract FieldDefinition createFieldDefinition(int fieldIndex)
fieldIndex
- 対象となるフィールドのインデックスprotected abstract boolean isSizeValid()
public java.lang.String toString()
toString
in class java.lang.Object
protected final int getLengthOf(java.lang.String fieldName)
fieldName
- フィールド名