@Published(tag="architect") public abstract class DataFile extends Object
ファイルへ書き出す機能(準備データ作成用)と ファイルから読み込む機能(結果ファイル確認用)を持つ。
本インスタンスは複数のDataFileFragmentにより構成される。 ファイル全体に関わる情報(ディレクティブなど)は本クラスが保持し、 レコードレイアウト毎の情報(レコード長など)はDataFileFragmentが保持する。
ほとんどの機能は本クラスで実装されているが、ファイルタイプにより処理が異なる部分は サブクラスで定義される。修飾子とタイプ | フィールドと説明 |
---|---|
protected List |
all
この固定長ファイルを構成する断片
|
protected Map |
directives
ディレクティブ一覧
|
修飾子とタイプ | メソッドと説明 |
---|---|
protected Object |
convertDirectiveValue(nablarch.core.dataformat.DataRecordFormatterSupport.Directive directive,
String stringValue)
ディレクティブの値を、文字列から各ディレクティブが許容する型に変換する。
|
nablarch.core.dataformat.LayoutDefinition |
createLayout()
フォーマット定義を作成する。
|
nablarch.core.dataformat.LayoutDefinition |
createLayout(nablarch.test.core.file.DataFileFragment... fragments)
フォーマット定義を作成する。
|
protected abstract nablarch.test.core.file.DataFileFragment |
createNewFragment()
新しいファイルの断片を生成する。
|
protected Charset |
getEncodingFromDirectives()
ディレクティブからエンコーディングを取得する。
|
protected abstract String |
getFileType()
ファイルタイプを取得する。
|
nablarch.test.core.file.DataFileFragment |
getNewFragment()
この固定長ファイルを構成する、新しい断片を取得する。
|
String |
getPath()
ファイルパスを取得する。
|
protected void |
prepareDefaultDirectives(String key)
デフォルトのディレクティブを取得する。
|
List<nablarch.core.dataformat.DataRecord> |
read()
ファイルから読み込む。
|
void |
setDirective(String directiveName,
String stringValue)
ディレクティブを設定する。
|
List<nablarch.core.dataformat.DataRecord> |
toDataRecords()
DataRecord へ変換する。 |
protected abstract nablarch.core.dataformat.DataRecordFormatterSupport.Directive |
valueOf(String directiveName)
ディレクティブ名称からディレクティブを取得する。
|
void |
write()
ファイルへ出力する。
|
protected final List all
protected final Map directives
protected DataFile(String path)
path
- ファイルパスprotected final void prepareDefaultDirectives(String key)
key
- コンポーネント設定ファイルのキーprotected abstract String getFileType()
public void write()
public nablarch.test.core.file.DataFileFragment getNewFragment()
protected abstract nablarch.test.core.file.DataFileFragment createNewFragment()
public List<nablarch.core.dataformat.DataRecord> toDataRecords()
public List<nablarch.core.dataformat.DataRecord> read()
読み込み先はコンストラクタで指定したファイルパスとなる。 読み込み時に使用されるファイルフォーマットは、 本インスタンスが持つDataFileFragmentを使用する。
本インスタンスに対応するデータを読み終えたあとで、 入力ストリームが終端に達していない場合、最末尾のレコードレイアウトで残りのストリームを読み切る。
public nablarch.core.dataformat.LayoutDefinition createLayout()
public nablarch.core.dataformat.LayoutDefinition createLayout(nablarch.test.core.file.DataFileFragment... fragments)
fragments
- 元となる断片public void setDirective(String directiveName, String stringValue)
directiveName
- ディレクティブ名称stringValue
- 値IllegalArgumentException
- 許容されないディレクティブが設定された場合public String getPath()
protected Object convertDirectiveValue(nablarch.core.dataformat.DataRecordFormatterSupport.Directive directive, String stringValue)
directive
- ディレクティブstringValue
- 値protected abstract nablarch.core.dataformat.DataRecordFormatterSupport.Directive valueOf(String directiveName)
directiveName
- ディレクティブ名称protected final Charset getEncodingFromDirectives()