Package nablarch.test.core.file
Class DataFile
java.lang.Object
nablarch.test.core.file.DataFile
- Direct Known Subclasses:
FixedLengthFile
,VariableLengthFile
ファイルを表すクラス。
ファイルへ書き出す機能(準備データ作成用)と ファイルから読み込む機能(結果ファイル確認用)を持つ。
本インスタンスは複数のDataFileFragmentにより構成される。 ファイル全体に関わる情報(ディレクティブなど)は本クラスが保持し、 レコードレイアウト毎の情報(レコード長など)はDataFileFragmentが保持する。
ほとんどの機能は本クラスで実装されているが、ファイルタイプにより処理が異なる部分は サブクラスで定義される。- Author:
- T.Kawasaki
-
Field Summary
Modifier and TypeFieldDescriptionprotected final List<DataFileFragment>
この固定長ファイルを構成する断片ディレクティブ一覧 -
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionprotected Object
convertDirectiveValue
(nablarch.core.dataformat.DataRecordFormatterSupport.Directive directive, String stringValue) ディレクティブの値を、文字列から各ディレクティブが許容する型に変換する。nablarch.core.dataformat.LayoutDefinition
フォーマット定義を作成する。
本インスタンスおよび所有するDataFileFragmentのレイアウト情報を元に フォーマット定義を生成する。 書き込み時に使用する。 (書き込み時はレイアウト種別を明示的に指定できるため、1つのレイアウトでまかなえる)nablarch.core.dataformat.LayoutDefinition
createLayout
(DataFileFragment... fragments) フォーマット定義を作成する。
本インスタンスおよび所有するDataFileFragmentのレイアウト情報を元に フォーマット定義を生成する。protected abstract DataFileFragment
新しいファイルの断片を生成する。
生成された断片はこのファイルの管理下に置かれる。protected final Charset
ディレクティブからエンコーディングを取得する。protected abstract String
ファイルタイプを取得する。この固定長ファイルを構成する、新しい断片を取得する。getPath()
ファイルパスを取得する。protected final void
デフォルトのディレクティブを取得する。
デフォルト値が設定されていない場合は空のMapを返却する(デフォルト値なし)。List<nablarch.core.dataformat.DataRecord>
read()
ファイルから読み込む。void
setDirective
(String directiveName, String stringValue) ディレクティブを設定する。List<nablarch.core.dataformat.DataRecord>
protected abstract nablarch.core.dataformat.DataRecordFormatterSupport.Directive
ディレクティブ名称からディレクティブを取得する。void
write()
ファイルへ出力する。
出力先はコンストラクタで設定したパスとなる。
-
Field Details
-
all
この固定長ファイルを構成する断片 -
directives
ディレクティブ一覧
-
-
Constructor Details
-
DataFile
コンストラクタ。- Parameters:
path
- ファイルパス
-
-
Method Details
-
prepareDefaultDirectives
デフォルトのディレクティブを取得する。
デフォルト値が設定されていない場合は空のMapを返却する(デフォルト値なし)。- Parameters:
key
- コンポーネント設定ファイルのキー
-
getFileType
ファイルタイプを取得する。- Returns:
- ファイルタイプ
-
write
public void write()ファイルへ出力する。
出力先はコンストラクタで設定したパスとなる。 -
getNewFragment
この固定長ファイルを構成する、新しい断片を取得する。- Returns:
- DataFileFragment
-
createNewFragment
新しいファイルの断片を生成する。
生成された断片はこのファイルの管理下に置かれる。- Returns:
- 新しいファイル断片
-
toDataRecords
- Returns:
- 変換結果
-
read
ファイルから読み込む。
読み込み先はコンストラクタで指定したファイルパスとなる。 読み込み時に使用されるファイルフォーマットは、 本インスタンスが持つDataFileFragmentを使用する。
本インスタンスに対応するデータを読み終えたあとで、 入力ストリームが終端に達していない場合、最末尾のレコードレイアウトで残りのストリームを読み切る。
- Returns:
- 読み込み結果
-
createLayout
public nablarch.core.dataformat.LayoutDefinition createLayout()フォーマット定義を作成する。
本インスタンスおよび所有するDataFileFragmentのレイアウト情報を元に フォーマット定義を生成する。 書き込み時に使用する。 (書き込み時はレイアウト種別を明示的に指定できるため、1つのレイアウトでまかなえる)- Returns:
- フォーマット定義
-
createLayout
フォーマット定義を作成する。
本インスタンスおよび所有するDataFileFragmentのレイアウト情報を元に フォーマット定義を生成する。- Parameters:
fragments
- 元となる断片- Returns:
- フォーマット定義
-
setDirective
ディレクティブを設定する。- Parameters:
directiveName
- ディレクティブ名称stringValue
- 値- Throws:
IllegalArgumentException
- 許容されないディレクティブが設定された場合
-
getPath
ファイルパスを取得する。- Returns:
- ファイルパス
-
convertDirectiveValue
protected Object convertDirectiveValue(nablarch.core.dataformat.DataRecordFormatterSupport.Directive directive, String stringValue) ディレクティブの値を、文字列から各ディレクティブが許容する型に変換する。- Parameters:
directive
- ディレクティブstringValue
- 値- Returns:
- 変換後の値
-
valueOf
protected abstract nablarch.core.dataformat.DataRecordFormatterSupport.Directive valueOf(String directiveName) ディレクティブ名称からディレクティブを取得する。- Parameters:
directiveName
- ディレクティブ名称- Returns:
- ディレクティブ
-
getEncodingFromDirectives
ディレクティブからエンコーディングを取得する。- Returns:
- ディレクティブで定義されたエンコーディングF
-