Interface DataRecordFormatter

All Superinterfaces:
AutoCloseable, Closeable
All Known Implementing Classes:
DataRecordFormatterSupport, FixedLengthDataRecordFormatter, JsonDataRecordFormatter, StructuredDataRecordFormatterSupport, VariableLengthDataRecordFormatter, XmlDataRecordFormatter

@Published public interface DataRecordFormatter extends Closeable
データファイルとJavaオブジェクトのシリアライズ/デシリアライズを行うクラスが実装するインタフェース。
  • Method Details

    • readRecord

      入力ストリームから1レコード分のデータを読み込み、データレコードを返却する。 入力ストリームが既に終端に達していた場合はnullを返却する。
      Returns:
      データレコード
      Throws:
      IOException - 入力ストリームの読み込みに失敗した場合
      InvalidDataFormatException - 読み込んだデータがフォーマット定義に違反している場合
    • writeRecord

      void writeRecord(Map<String,?> record) throws IOException, InvalidDataFormatException
      出力ストリームに1レコード分の内容を書き込む。

      出力時に使用するデータレイアウト(レコードタイプ)は、Mapの内容をもとに自動的に判定される。

      引数がDataRecord型かつレコードタイプが指定されている場合、 フォーマット定義ファイルのレコードタイプ識別フィールド定義よりも、指定されたレコードタイプを優先して書き込みを行う。

      Parameters:
      record - 出力するレコードの内容を格納したMap
      Throws:
      IOException - 出力ストリームの書き込みに失敗した場合
      InvalidDataFormatException - 書き込むデータの内容がフォーマット定義に違反している場合
    • writeRecord

      void writeRecord(String recordType, Map<String,?> record) throws IOException, InvalidDataFormatException
      指定したデータレイアウト(レコードタイプ)で、出力ストリームに1レコード分の内容を書き込む。
      Parameters:
      recordType - レコードタイプ
      record - 出力するレコードの内容を格納したMap
      Throws:
      IOException - 出力ストリームの書き込みに失敗した場合
      InvalidDataFormatException - 書き込むデータの内容がフォーマット定義に違反している場合
    • initialize

      DataRecordFormatter initialize()
      初期化処理を行う。
      Returns:
      本クラスのインスタンス
    • setInputStream

      DataRecordFormatter setInputStream(InputStream stream)
      入力ストリームを設定する。
      Parameters:
      stream - 入力ストリーム
      Returns:
      本クラスのインスタンス
    • close

      void close()
      内部的に保持している各種リソースを開放する。
      Specified by:
      close in interface AutoCloseable
      Specified by:
      close in interface Closeable
    • setDefinition

      DataRecordFormatter setDefinition(LayoutDefinition definition)
      フォーマット定義ファイルの情報を保持するクラスを設定する。
      Parameters:
      definition - フォーマット定義ファイルの定義情報
      Returns:
      本クラスのインスタンス
    • setOutputStream

      DataRecordFormatter setOutputStream(OutputStream stream)
      出力ストリームを設定する。
      Parameters:
      stream - 出力ストリーム
      Returns:
      本クラスのインスタンス
    • hasNext

      boolean hasNext() throws IOException
      次に読み込む行の有無を判定する。
      Returns:
      次に読み込む行がある場合true
      Throws:
      IOException - 入力ストリームの読み込みに失敗した場合
    • getRecordNumber

      int getRecordNumber()
      読み込みまたは書き込み中のレコードのレコード番号を返却する。
      Returns:
      レコード番号