jp.cssj.rsr.impl

## クラス AbstractRandomAccessFileBuilder

- java.lang.Object
- - jp.cssj.rsr.impl.AbstractRandomAccessFileBuilder

- すべての実装されたインタフェース:
    RandomBuilder
  直系の既知のサブクラス:
    FileRandomBuilder, StreamRandomBuilder

      public abstract class AbstractRandomAccessFileBuilder
      extends Object
      implements RandomBuilder

  一時的に作成したランダムアクセスファイルを使って結果を構築する RandomBuilder です。
  バージョン:
    $Id: AbstractRandomAccessFileBuilder.java 758 2011-11-13 14:05:46Z miyabe $
  作成者:
    MIYABE Tatsuhiko

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

    ネストされたクラス
    修飾子とタイプ | クラスと説明
    --- | ---
    `protected class` | `AbstractRandomAccessFileBuilder.Block`

    - ### インタフェースから継承されたネストされたクラス/インタフェース jp.cssj.rsr.RandomBuilder

      `RandomBuilder.PositionInfo`

  - ### フィールドのサマリー

    フィールド
    修飾子とタイプ | フィールドと説明
    --- | ---
    `protected File` | `file`
    `protected AbstractRandomAccessFileBuilder.Block` | `first`
    `protected List<AbstractRandomAccessFileBuilder.Block>` | `frgs`
    `protected AbstractRandomAccessFileBuilder.Block` | `last`
    `protected long` | `length`
    `protected long` | `onMemory`
    `protected RandomAccessFile` | `raf`
    `protected int` | `segment`

  - ### コンストラクタのサマリー

    コンストラクタ
    コンストラクタと説明
    `AbstractRandomAccessFileBuilder()`
    `AbstractRandomAccessFileBuilder(int fragmentBufferSize, int totalBufferSize, int threshold)`

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

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

    - ### クラスから継承されたメソッド java.lang.Object

      `clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

    - ### インタフェースから継承されたメソッド jp.cssj.rsr.RandomBuilder

      `finish`

- - ### フィールドの詳細

    - #### raf

          protected RandomAccessFile raf

    - #### file

          protected File file

    - #### frgs

          protected List<AbstractRandomAccessFileBuilder.Block> frgs

    - #### first

          protected AbstractRandomAccessFileBuilder.Block first

    - #### last

          protected AbstractRandomAccessFileBuilder.Block last

    - #### length

          protected long length

    - #### onMemory

          protected long onMemory

    - #### segment

          protected int segment

  - ### コンストラクタの詳細

    - #### AbstractRandomAccessFileBuilder

          public AbstractRandomAccessFileBuilder(int fragmentBufferSize,
                                                 int totalBufferSize,
                                                 int threshold)

    - #### AbstractRandomAccessFileBuilder

          public AbstractRandomAccessFileBuilder()

  - ### メソッドの詳細

    - #### nextId

          protected int nextId()
                        throws IOException

      例外:
        `IOException`

    - #### getBlock

          protected AbstractRandomAccessFileBuilder.Block getBlock(int id)
                                                            throws IOException

      例外:
        `IOException`

    - #### putBlock

          protected void putBlock(int id,
                                  AbstractRandomAccessFileBuilder.Block frg)

    - #### getPositionInfo

          public RandomBuilder.PositionInfo getPositionInfo()

      インタフェースからコピーされた説明: `RandomBuilder`
      構築中の各断片の先頭位置を得るためのオブジェクトを返します。
      定義:
        `getPositionInfo` インタフェース内 `RandomBuilder`
      戻り値:
        位置情報。

    - #### supportsPositionInfo

          public boolean supportsPositionInfo()

      インタフェースからコピーされた説明: `RandomBuilder`
      位置情報をサポートしているかどうかを返します。
      定義:
        `supportsPositionInfo` インタフェース内 `RandomBuilder`
      戻り値:
        位置情報をサポートしていればtrue。

    - #### addBlock

          public void addBlock()
                        throws IOException

      インタフェースからコピーされた説明: `RandomBuilder`
      断片を末尾に追加します。
      定義:
        `addBlock` インタフェース内 `RandomBuilder`
      例外:
        `IOException`

    - #### insertBlockBefore

          public void insertBlockBefore(int anchorId)
                                 throws IOException

      インタフェースからコピーされた説明: `RandomBuilder`
      指定した断片の直前に断片を挿入します。
      定義:
        `insertBlockBefore` インタフェース内 `RandomBuilder`
      パラメータ:
        `anchorId` - 断片のID。
      例外:
        `IOException`

    - #### write

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

      インタフェースからコピーされた説明: `RandomBuilder`
      断片にデータを追加します。
      定義:
        `write` インタフェース内 `RandomBuilder`
      パラメータ:
        `id` - 断片のID。
        `b` - バイト列。
        `off` - バイト列中のデータの開始位置。
        `len` - バイト列中のデータの長さ。
      例外:
        `IOException`

    - #### closeBlock

          public void closeBlock(int id)
                          throws IOException

      インタフェースからコピーされた説明: `RandomBuilder`
      断片への書き込みを終了します。 この呼び出しは必須ではありませんが、データの構築を効率化する可能性があります。
      定義:
        `closeBlock` インタフェース内 `RandomBuilder`
      パラメータ:
        `id` - 断片のID。
      例外:
        `IOException`

    - #### finish

          protected void finish(OutputStream out)
                         throws IOException

      例外:
        `IOException`

    - #### getLength

          public long getLength()

    - #### dispose

          public void dispose()

      インタフェースからコピーされた説明: `RandomBuilder`

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

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

      定義:
        `dispose` インタフェース内 `RandomBuilder`

    - #### finalize

          protected void finalize()
                           throws IOException

      オーバーライド:
        `finalize` クラス内 `Object`
      例外:
        `IOException`

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