kinugasa.contents.text

## クラス TextReader<T>

- java.lang.Object
- - kinugasa.contents.text.TextIO<T>
  - - kinugasa.contents.text.TextReader<T>

- 型パラメータ:
    `T` - テキストファイルのある1行の内容を表すクラスを指定します。 たとえば、CSVファイルではString[]です。
  すべての実装されたインタフェース:
    java.io.Serializable, java.lang.Iterable<T>, Freeable, Loadable, Nameable
  直系の既知のサブクラス:
    CSVReader, INIReader, SimpleTextReader

      public abstract class TextReader<T>
      extends TextIO<T>
      implements Freeable, Loadable

  テキストファイルを読む込むためのTextIOの実装です.
  ファイルを読み込む際には、読み込み対象となるファイルが存在していなければならないので、 コンストラクタではファイルの有無を確認します。
  関連項目:
    直列化された形式

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

    - ### クラスから継承されたフィールド kinugasa.contents.text.TextIO

      `data, file`

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

    コンストラクタ
    コンストラクタと説明
    `TextReader(java.io.File file, Reader<T> parser)` ファイルとリーダを指定して、読み込み用ファイルを構築します.
    `TextReader(java.lang.String filePath, Reader<T> parser)` ファイルパスとリーダを指定して、読み込み用ファイルを構築します.

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

    All Methods Instance Methods Concrete Methods
    修飾子とタイプ | メソッドと説明
    --- | ---
    `TextReader<T>` | `add(java.util.Collection<? extends T> obj)` 要素をこのテキストファイルの末尾に追加します.
    `TextReader<T>` | `add(T... obj)` 要素をこのテキストファイルの末尾に追加します.
    `TextReader<T>` | `add(T obj)` 要素をこのテキストファイルの末尾に追加します.
    `TextReader<T>` | `add(TextIO<? extends T> other)` 他のTextIOのすべての要素を、このテキストファイルの末尾に追加します.
    `TextReader<T>` | `clear()` 全ての要素を破棄します.
    `TextReader<T>` | `free()` 全てのデータを破棄します.
    `Reader<T>` | `getReader()` リーダを取得します.
    `boolean` | `isLoaded()` このオブジェクトが、すでにロードされているかを検査します.
    `TextReader<T>` | `load()` テキストファイルのデータをロードします.
    `TextReader<T>` | `remove(java.util.Collection<? extends T> obj)` 要素をこのテキストファイルから削除します.
    `TextReader<T>` | `remove(T... obj)` 要素をこのテキストファイルから削除します.
    `TextReader<T>` | `remove(T obj)` 要素をこのテキストファイルから削除します.
    `TextReader<T>` | `remove(TextIO<? extends T> other)` 他のTextIOのすべての要素を、このテキストファイルから削除します.
    `void` | `setReader(Reader<T> reader)` リーダを設定します.

    - ### クラスから継承されたメソッド kinugasa.contents.text.TextIO

      `getData, getFile, getFirst, getName, isEmpty, iterator, printAll, size, toString`

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

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

    - ### インタフェースから継承されたメソッド java.lang.Iterable

      `forEach, spliterator`

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

    - #### TextReader

          public TextReader(java.lang.String filePath,
                            Reader<T> parser)
                     throws ContentsFileNotFoundException

      ファイルパスとリーダを指定して、読み込み用ファイルを構築します.
      パラメータ:
        `filePath` - ファイルパスを指定します。
        `parser` - 文字列を解析するリーダを指定します。
      例外:
        `ContentsFileNotFoundException` - 指定されたファイルが存在しない場合に投げられます。

    - #### TextReader

          public TextReader(java.io.File file,
                            Reader<T> parser)
                     throws ContentsFileNotFoundException

      ファイルとリーダを指定して、読み込み用ファイルを構築します.
      パラメータ:
        `file` - ファイルを指定します。
        `parser` - 文字列を解析するリーダを指定します。
      例外:
        `ContentsFileNotFoundException` - 指定されたファイルが存在しない場合に投げられます。

  - ### メソッドの詳細

    - #### load

          public TextReader<T> load()
                             throws IllegalFormatException,
                                    ContentsIOException

      テキストファイルのデータをロードします.
      定義:
        `load` インタフェース内 `Loadable`
      戻り値:
        thisインスタンスを返します。
      例外:
        `IllegalFormatException` - パーサが文字列を解析できない場合に投げられます。
        `ContentsIOException` - ファイルをロードできない場合に投げられます。

    - #### free

          public TextReader<T> free()

      全てのデータを破棄します.
      定義:
        `free` インタフェース内 `Freeable`
      戻り値:
        thisインスタンスを返します。

    - #### isLoaded

          public boolean isLoaded()

      インタフェースからコピーされた説明: `Loadable`
      このオブジェクトが、すでにロードされているかを検査します.
      定義:
        `isLoaded` インタフェース内 `Loadable`
      戻り値:
        ロード済みである場合はtrueを返します。

    - #### add

          public TextReader<T> add(java.util.Collection<? extends T> obj)

      クラスからコピーされた説明: `TextIO`
      要素をこのテキストファイルの末尾に追加します. このメソッドは、TextIOのすべての実装でオーバーライドし、super.add()をコールする必要があります。
      オーバーライド:
        `add` クラス内 `TextIO<T>`
      パラメータ:
        `obj` - 追加するオブジェクトを指定します。
      戻り値:
        thisインスタンスを返します。

    - #### add

          public TextReader<T> add(T obj)

      クラスからコピーされた説明: `TextIO`
      要素をこのテキストファイルの末尾に追加します. このメソッドは、TextIOのすべての実装でオーバーライドし、super.add()をコールする必要があります。
      オーバーライド:
        `add` クラス内 `TextIO<T>`
      パラメータ:
        `obj` - 追加するオブジェクトを指定します。
      戻り値:
        thisインスタンスを返します。

    - #### add

          public TextReader<T> add(T... obj)

      クラスからコピーされた説明: `TextIO`
      要素をこのテキストファイルの末尾に追加します. このメソッドは、TextIOのすべての実装でオーバーライドし、super.add()をコールする必要があります。
      オーバーライド:
        `add` クラス内 `TextIO<T>`
      パラメータ:
        `obj` - 追加するオブジェクトを指定します。
      戻り値:
        thisインスタンスを返します。

    - #### add

          public TextReader<T> add(TextIO<? extends T> other)

      クラスからコピーされた説明: `TextIO`
      他のTextIOのすべての要素を、このテキストファイルの末尾に追加します. このメソッドは、読み込み用TextIOからロードしたデータを書き込み用TextIOに発行する場合に有用です。
      このメソッドは、TextIOのすべての実装でオーバーライドし、super.add()をコールする必要があります。
      オーバーライド:
        `add` クラス内 `TextIO<T>`
      パラメータ:
        `other` - 追加するオブジェクトが含まれたTextIOを指定します。
      戻り値:
        thisインスタンスを返します。

    - #### remove

          public TextReader<T> remove(java.util.Collection<? extends T> obj)

      クラスからコピーされた説明: `TextIO`
      要素をこのテキストファイルから削除します. このメソッドは、TextIOのすべての実装でオーバーライドし、super.remove()をコールする必要があります。
      オーバーライド:
        `remove` クラス内 `TextIO<T>`
      パラメータ:
        `obj` - 削除するオブジェクトを指定します。
      戻り値:
        thisインスタンスを返します。

    - #### remove

          public TextReader<T> remove(T obj)

      クラスからコピーされた説明: `TextIO`
      要素をこのテキストファイルから削除します. このメソッドは、TextIOのすべての実装でオーバーライドし、super.remove()をコールする必要があります。
      オーバーライド:
        `remove` クラス内 `TextIO<T>`
      パラメータ:
        `obj` - 削除するオブジェクトを指定します。
      戻り値:
        thisインスタンスを返します。

    - #### remove

          public TextReader<T> remove(T... obj)

      クラスからコピーされた説明: `TextIO`
      要素をこのテキストファイルから削除します. このメソッドは、TextIOのすべての実装でオーバーライドし、super.remove()をコールする必要があります。
      オーバーライド:
        `remove` クラス内 `TextIO<T>`
      パラメータ:
        `obj` - 削除するオブジェクトを指定します。
      戻り値:
        thisインスタンスを返します。

    - #### remove

          public TextReader<T> remove(TextIO<? extends T> other)

      クラスからコピーされた説明: `TextIO`
      他のTextIOのすべての要素を、このテキストファイルから削除します. このメソッドは、読み込み用TextIOからロードしたデータを書き込み用TextIOに発行する場合に有用です。
      このメソッドは、TextIOのすべての実装でオーバーライドし、super.remove()をコールする必要があります。
      オーバーライド:
        `remove` クラス内 `TextIO<T>`
      パラメータ:
        `other` - 削除するオブジェクトが含まれたTextIOを指定します。
      戻り値:
        thisインスタンスを返します。

    - #### clear

          public TextReader<T> clear()

      クラスからコピーされた説明: `TextIO`
      全ての要素を破棄します.
      オーバーライド:
        `clear` クラス内 `TextIO<T>`
      戻り値:
        thisインスタンスを返します。

    - #### getReader

          public Reader<T> getReader()

      リーダを取得します.
      戻り値:
        このテキストファイルを解析するためのリーダを返します。

    - #### setReader

          public void setReader(Reader<T> reader)

      リーダを設定します.
      パラメータ:
        `reader` - このテキストファイルを解析するためのリーダを設定します。