jp.cssj.rsr

## インタフェース RandomBuilder

- 既知のサブインタフェースのリスト:
    Sequential
  既知の実装クラスのリスト:
    AbstractRandomAccessFileBuilder, FileRandomBuilder, NopRandomBuilder, RandomBuilderMeasurer, RandomBuilderPositionSupport, RandomBuilderWrapper, StreamRandomBuilder

      public interface RandomBuilder

  断片化されたデータを構築するためのインターフェースです。

  addBlock または insertBlockBefore により新たな断片を追加します。 断片は追加順に0,1,2,3...というIDが振られます。 IDは断片の挿入または断片にデータを追加する際の識別のために使うことができます。

  インスタンスが Sequential インターフェースを実装している場合は、 もともと順次的なデータであり、insertBlockBefore を使う必要がないことを示します。 この場合、addBlock を呼び出さずに Sequential インターフェースのメソッドを呼ぶことで効率良くデータを構築することができます。

  バージョン:
    $Id: RandomBuilder.java 1565 2018-07-04 11:51:25Z miyabe $
  作成者:
    MIYABE Tatsuhiko

- - ### ネストされたクラスのサマリー

    ネストされたクラス
    修飾子とタイプ | インタフェースと説明
    --- | ---
    `static interface` | `RandomBuilder.PositionInfo` 断片の位置情報です。

  - ### メソッドのサマリー

    すべてのメソッド インスタンス・メソッド abstractメソッド
    修飾子とタイプ | メソッドと説明
    --- | ---
    `void` | `addBlock()` 断片を末尾に追加します。
    `void` | `closeBlock(int id)` 断片への書き込みを終了します。
    `void` | `dispose()` 構築のためのリソースを破棄します。
    `void` | `finish()` データの構築を完了します。
    `RandomBuilder.PositionInfo` | `getPositionInfo()` 構築中の各断片の先頭位置を得るためのオブジェクトを返します。
    `void` | `insertBlockBefore(int anchorId)` 指定した断片の直前に断片を挿入します。
    `boolean` | `supportsPositionInfo()` 位置情報をサポートしているかどうかを返します。
    `void` | `write(int id, byte[] b, int off, int len)` 断片にデータを追加します。

- - ### メソッドの詳細

    - #### addBlock

          void addBlock()
                 throws IOException

      断片を末尾に追加します。
      例外:
        `IOException`

    - #### insertBlockBefore

          void insertBlockBefore(int anchorId)
                          throws IOException

      指定した断片の直前に断片を挿入します。
      パラメータ:
        `anchorId` - 断片のID。
      例外:
        `IOException`

    - #### write

          void write(int id,
                     byte[] b,
                     int off,
                     int len)
              throws IOException

      断片にデータを追加します。
      パラメータ:
        `id` - 断片のID。
        `b` - バイト列。
        `off` - バイト列中のデータの開始位置。
        `len` - バイト列中のデータの長さ。
      例外:
        `IOException`

    - #### supportsPositionInfo

          boolean supportsPositionInfo()

      位置情報をサポートしているかどうかを返します。
      戻り値:
        位置情報をサポートしていればtrue。

    - #### getPositionInfo

          RandomBuilder.PositionInfo getPositionInfo()
                                              throws UnsupportedOperationException

      構築中の各断片の先頭位置を得るためのオブジェクトを返します。
      戻り値:
        位置情報。
      例外:
        `UnsupportedOperationException`

    - #### closeBlock

          void closeBlock(int id)
                   throws IOException

      断片への書き込みを終了します。 この呼び出しは必須ではありませんが、データの構築を効率化する可能性があります。
      パラメータ:
        `id` - 断片のID。
      例外:
        `IOException`

    - #### finish

          void finish()
               throws IOException

      データの構築を完了します。
      例外:
        `IOException`

    - #### dispose

          void dispose()

      構築のためのリソースを破棄します。

      RandomBuilder は処理のために一時ファイルなどのリソースを使用するため、 不要となったオブジェクトに対しては必ずdispose()を呼び出してください。

Copyright © 2023 座間ソフト. All rights reserved.