Package nablarch.core.dataformat
Class JsonDataRecordFormatter
java.lang.Object
nablarch.core.dataformat.DataRecordFormatterSupport
nablarch.core.dataformat.StructuredDataRecordFormatterSupport
nablarch.core.dataformat.JsonDataRecordFormatter
- All Implemented Interfaces:
Closeable
,AutoCloseable
,DataRecordFormatter
フォーマット定義ファイルの内容に従い、JSONデータの読み書きを行うクラス。
本クラスはスレッドセーフを考慮した実装にはなっていないので、呼び出し元で同期化の制御を行うこと。
ディレクティブの設定JSONデータを読み込む際は、以下のディレクティブの設定が必須となる。
- ファイルの文字エンコーディング
-
Nested Class Summary
Nested classes/interfaces inherited from class nablarch.core.dataformat.StructuredDataRecordFormatterSupport
StructuredDataRecordFormatterSupport.StructuredDataDirective
Nested classes/interfaces inherited from class nablarch.core.dataformat.DataRecordFormatterSupport
DataRecordFormatterSupport.Directive
-
Constructor Summary
ConstructorDescriptionデフォルトコンストラクタ。 デフォルトでは、JsonDataConvertorSettingをコンバータとして使用する。 また、JsonParserをデータパーサーとして使用する。 -
Method Summary
Modifier and TypeMethodDescriptionこのフォーマッタが取り扱うファイルのmime-typeを返却する。
デフォルトではtext/plainを返却する。必要に応じサブクラスでオーバーライドすること。protected void
validateDirectives
(Map<String, Object> directive) ディレクティブの内容の妥当性を検証する。Methods inherited from class nablarch.core.dataformat.StructuredDataRecordFormatterSupport
close, getConvertorSetting, getDataBuilder, getDataParser, hasNext, initialize, readRecord, setConvertorSetting, setDataBuilder, setDataParser, setInputStream, setOutputStream, writeRecord, writeRecord
Methods inherited from class nablarch.core.dataformat.DataRecordFormatterSupport
addConvertorToField, addFormatAndRecordNumberTo, createCharacterReplacer, createDirectiveMap, getDefaultEncoding, getDefinition, getFileType, getRecordNumber, getRecordSeparator, incrementRecordNumber, initializeClassifier, initializeDefinition, initializeField, initializeFieldDefinition, newInvalidDataFormatException, setAllowedRecordSeparatorList, setDataTypeProperty, setDefaultReplacementType, setDefinition, setFieldProperty, setRecordNumber, setValueConvertorProperty, validateDirectivesDataType, validatePosition, validateRecordLength
-
Constructor Details
-
JsonDataRecordFormatter
public JsonDataRecordFormatter()デフォルトコンストラクタ。 デフォルトでは、JsonDataConvertorSettingをコンバータとして使用する。 また、JsonParserをデータパーサーとして使用する。
-
-
Method Details
-
validateDirectives
ディレクティブの内容の妥当性を検証する。サブクラスで独自のディレクティブを使用する場合は、このメソッドをオーバーライドし、独自のディレクティブに対して妥当性検証を行うこと。
DataRecordFormatter
では以下の仕様を満たしているかどうかの検証を行う。- ディレクティブの値のデータ型が正しい
- ファイルタイプが定義されている
- エンコーディングが定義されている
- エンコーディングがCharset型に変換できる
- レコード終端文字列が許容されている文字である
妥当性検証に失敗した場合は、
この実装では、以下の検証を行う。SyntaxErrorException
がスローされる。- エンコーディングがUTF-8であること
- Overrides:
validateDirectives
in classDataRecordFormatterSupport
- Parameters:
directive
- ディレクティブ
-
getMimeType
このフォーマッタが取り扱うファイルのmime-typeを返却する。
デフォルトではtext/plainを返却する。必要に応じサブクラスでオーバーライドすること。
この実装では"application/json"を返却する。- Overrides:
getMimeType
in classDataRecordFormatterSupport
- Returns:
- ファイルのmime-type
-