@Published(tag="architect")
public abstract class DataFile
extends java.lang.Object
ファイルへ書き出す機能(準備データ作成用)と ファイルから読み込む機能(結果ファイル確認用)を持つ。
本インスタンスは複数のDataFileFragmentにより構成される。 ファイル全体に関わる情報(ディレクティブなど)は本クラスが保持し、 レコードレイアウト毎の情報(レコード長など)はDataFileFragmentが保持する。
ほとんどの機能は本クラスで実装されているが、ファイルタイプにより処理が異なる部分は サブクラスで定義される。Modifier and Type | Field and Description |
---|---|
protected java.util.List |
all
この固定長ファイルを構成する断片
|
protected java.util.Map |
directives
ディレクティブ一覧
|
Modifier | Constructor and Description |
---|---|
protected |
DataFile(java.lang.String path)
コンストラクタ。
|
Modifier and Type | Method and Description |
---|---|
protected java.lang.Object |
convertDirectiveValue(nablarch.core.dataformat.DataRecordFormatterSupport.Directive directive,
java.lang.String stringValue)
ディレクティブの値を、文字列から各ディレクティブが許容する型に変換する。
|
nablarch.core.dataformat.LayoutDefinition |
createLayout()
フォーマット定義を作成する。
本インスタンスおよび所有するDataFileFragmentのレイアウト情報を元に フォーマット定義を生成する。 書き込み時に使用する。 (書き込み時はレイアウト種別を明示的に指定できるため、1つのレイアウトでまかなえる) |
nablarch.core.dataformat.LayoutDefinition |
createLayout(nablarch.test.core.file.DataFileFragment... fragments)
フォーマット定義を作成する。
本インスタンスおよび所有するDataFileFragmentのレイアウト情報を元に フォーマット定義を生成する。 |
protected abstract nablarch.test.core.file.DataFileFragment |
createNewFragment()
新しいファイルの断片を生成する。
生成された断片はこのファイルの管理下に置かれる。 |
protected java.nio.charset.Charset |
getEncodingFromDirectives()
ディレクティブからエンコーディングを取得する。
|
protected abstract java.lang.String |
getFileType()
ファイルタイプを取得する。
|
nablarch.test.core.file.DataFileFragment |
getNewFragment()
この固定長ファイルを構成する、新しい断片を取得する。
|
java.lang.String |
getPath()
ファイルパスを取得する。
|
protected void |
prepareDefaultDirectives(java.lang.String key)
デフォルトのディレクティブを取得する。
デフォルト値が設定されていない場合は空のMapを返却する(デフォルト値なし)。 |
java.util.List<nablarch.core.dataformat.DataRecord> |
read()
ファイルから読み込む。
|
void |
setDirective(java.lang.String directiveName,
java.lang.String stringValue)
ディレクティブを設定する。
|
java.util.List<nablarch.core.dataformat.DataRecord> |
toDataRecords()
|
protected abstract nablarch.core.dataformat.DataRecordFormatterSupport.Directive |
valueOf(java.lang.String directiveName)
ディレクティブ名称からディレクティブを取得する。
|
void |
write()
ファイルへ出力する。
出力先はコンストラクタで設定したパスとなる。 |
protected final java.util.List all
protected final java.util.Map directives
protected DataFile(java.lang.String path)
path
- ファイルパスprotected final void prepareDefaultDirectives(java.lang.String key)
key
- コンポーネント設定ファイルのキーprotected abstract java.lang.String getFileType()
public void write()
public nablarch.test.core.file.DataFileFragment getNewFragment()
protected abstract nablarch.test.core.file.DataFileFragment createNewFragment()
public java.util.List<nablarch.core.dataformat.DataRecord> toDataRecords()
public java.util.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(java.lang.String directiveName, java.lang.String stringValue)
directiveName
- ディレクティブ名称stringValue
- 値java.lang.IllegalArgumentException
- 許容されないディレクティブが設定された場合public java.lang.String getPath()
protected java.lang.Object convertDirectiveValue(nablarch.core.dataformat.DataRecordFormatterSupport.Directive directive, java.lang.String stringValue)
directive
- ディレクティブstringValue
- 値protected abstract nablarch.core.dataformat.DataRecordFormatterSupport.Directive valueOf(java.lang.String directiveName)
directiveName
- ディレクティブ名称protected final java.nio.charset.Charset getEncodingFromDirectives()