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