nablarch.test.core.file.FixedLengthFileFragment Maven / Gradle / Ivy
The newest version!
package nablarch.test.core.file;
import static nablarch.core.util.Builder.concat;
import java.util.Map;
import nablarch.core.dataformat.FieldDefinition;
import nablarch.core.dataformat.FixedLengthDataRecordFormatter;
import nablarch.core.dataformat.LayoutDefinition;
import nablarch.core.dataformat.convertor.ConvertorFactorySupport;
import nablarch.core.dataformat.convertor.FixedLengthConvertorSetting;
import nablarch.core.dataformat.convertor.datatype.Bytes;
import nablarch.core.dataformat.convertor.datatype.DataType;
import nablarch.core.util.BinaryUtil;
import nablarch.test.core.util.MapCollector;
/**
* 固定長ファイルの断片を表すクラス。
*
* @author T.Kawasaki
*/
public class FixedLengthFileFragment extends DataFileFragment {
/**
* コンストラクタ。
*
* @param container 本インスタンスが所属するファイル
*/
public FixedLengthFileFragment(FixedLengthFile container) {
super(container);
}
/**
* レコード先頭からのバイト位置を表す。
* フィールド定義を作成するごとにフィールド長の分だけ増加する。
* @see #createFieldDefinition(int)
*/
private int bytePosition = 1;
/**
* {@inheritDoc}
* 値はパディングされる。
*/
@Override
protected Map convertForDataRecord(Map value) {
// フォーマッタを使わないとパディング処理ができないのでダミーのフォーマッタを生成
final FixedLengthDataRecordFormatter dummy = new FixedLengthDataRecordFormatter();
LayoutDefinition layout = container.createLayout();
dummy.initializeField(layout.getDirective());
return new MapCollector
© 2015 - 2024 Weber Informatics LLC | Privacy Policy