@Published(tag="architect") public class FormatterFactory extends java.lang.Object
DataRecordFormatter
)を生成するファクトリクラス。
フォーマット定義ファイルのパースを行い、ディレクティブで指定されたファイルタイプに対応するデータレコードフォーマッタを生成して返却する。
具体的には、ファイルタイプが "Variable" の場合にVariableLengthDataRecordFormatter
を、
ファイルタイプが "Fixed" の場合にFixedLengthDataRecordFormatter
を生成する。
フォーマット定義情報保持クラスは、本クラスの内部でキャッシュし、同一のフォーマット定義ファイルが何度もパースされないように制御する。 デフォルトではフォーマット定義ファイルのパース結果はキャッシュされる。
また、リポジトリに「formatterFactory」のキーで本クラスのインスタンスを格納することで、設定を変更することができる。
以下に、設定可能な項目の一覧を示す。
プロパティ名 | 型 | 概要 |
---|---|---|
allowedRecordSeparatorList | List<String> |
レコード終端文字列として許容する文字列のリスト |
defaultReplacementType | Map<String, String> |
フィールドタイプ名に対応するデフォルトの寄せ字変換タイプ名のMap |
encoding | String | フォーマット定義ファイルのエンコーディング |
cacheLayoutFileDefinition | boolean | フォーマット定義ファイルのパース結果のキャッシュ要否 |
<component name="formatterFactory"
class="nablarch.core.dataformat.FormatterFactory">
<property name="cacheLayoutFileDefinition" value="false" />
<property name="defaultReplacementType">
<map>
<entry key="X" value="type_hankaku" />
<entry key="N" value="type_zenkaku" />
</map>
</property>
</component>
DataRecordFormatter
,
LayoutDefinition
Constructor and Description |
---|
FormatterFactory() |
Modifier and Type | Method and Description | ||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
protected LayoutDefinition |
createDefinition(java.io.File layoutFile)
フォーマット定義ファイルを読み込み、フォーマット定義情報保持クラスを生成する。
|
||||||||||||||||||||||||||
DataRecordFormatter |
createFormatter(java.io.File layoutFile)
データレコードフォーマッタのインスタンスを生成する。
フォーマット定義ファイルのパース結果をキャッシュする設定の場合は、フォーマット定義ファイルのパースは2度行わない。
|
||||||||||||||||||||||||||
DataRecordFormatter |
createFormatter(LayoutDefinition definition)
フォーマット定義情報保持クラスをもとに、データレコードフォーマッタのインスタンスを生成する。
|
||||||||||||||||||||||||||
protected DataRecordFormatter |
createFormatter(java.lang.String fileType,
java.lang.String formatFilePath)
データレコードフォーマッタを生成する。
ファイルタイプにより下記のとおりフォーマッタの生成を行い、
これら以外のファイルタイプの場合は例外をスローする。
|