kinugasa.contents.text

## クラス XMLReader

- java.lang.Object
- - kinugasa.contents.text.TextIO<XMLElement>
  - - kinugasa.contents.text.XMLReader

- すべての実装されたインタフェース:
    java.io.Serializable, java.lang.Iterable<XMLElement>, Freeable, Loadable, Nameable

      public final class XMLReader
      extends TextIO<XMLElement>
      implements Freeable, Loadable

  XMLファイルの展開とデータの管理を行います.
  XMLデータはXMLElementクラスを使用し、木構造で表現されます。 ロードされたXMLReaderが持つノードは、ルートの1つのみです。
  ロード時には、DTDの検査が行われます。DTDが到達できないパスに配置されている場合や不正な DTDパスを指定した場合はCoutentsFileNotFoundExceptionが投げられます。
  関連項目:
    直列化された形式

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

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

      `data, file`

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

    コンストラクタ
    コンストラクタと説明
    `XMLReader(java.io.File file)`
    `XMLReader(java.lang.String filePath)`

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

    All Methods Instance Methods Concrete Methods
    修飾子とタイプ | メソッドと説明
    --- | ---
    `XMLReader` | `add(java.util.Collection<? extends XMLElement> obj)` 要素をこのテキストファイルの末尾に追加します.
    `XMLReader` | `add(TextIO<? extends XMLElement> other)` 他のTextIOのすべての要素を、このテキストファイルの末尾に追加します.
    `XMLReader` | `add(XMLElement... obj)` 要素をこのテキストファイルの末尾に追加します.
    `XMLReader` | `add(XMLElement obj)` 要素をこのテキストファイルの末尾に追加します.
    `XMLReader` | `clear()` 全ての要素を破棄します.
    `XMLReader` | `free()` コンテンツをメモリから破棄出来るようにします.
    `boolean` | `isLoaded()` このオブジェクトが、すでにロードされているかを検査します.
    `XMLReader` | `load()` コンテンツをロードして展開します.
    `XMLReader` | `remove(java.util.Collection<? extends XMLElement> obj)` 要素をこのテキストファイルから削除します.
    `XMLReader` | `remove(TextIO<? extends XMLElement> other)` 他のTextIOのすべての要素を、このテキストファイルから削除します.
    `XMLReader` | `remove(XMLElement... obj)` 要素をこのテキストファイルから削除します.
    `XMLReader` | `remove(XMLElement obj)` 要素をこのテキストファイルから削除します.

    - ### クラスから継承されたメソッド 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`

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

    - #### XMLReader

          public XMLReader(java.io.File file)
                    throws ContentsFileNotFoundException

      例外:
        `ContentsFileNotFoundException`

    - #### XMLReader

          public XMLReader(java.lang.String filePath)
                    throws ContentsFileNotFoundException

      例外:
        `ContentsFileNotFoundException`

  - ### メソッドの詳細

    - #### load

          public XMLReader load()
                         throws IllegalXMLFormatException,
                                ContentsFileNotFoundException,
                                ContentsIOException

      インタフェースからコピーされた説明: `Loadable`
      コンテンツをロードして展開します. すでにロードされている場合の動作は、実装によって異なります。
      再度ロードすることで、データを最新のものに更新するなど、効果のある場合には、すでにロードされている場合でも 再度ロードすることがあります。
      定義:
        `load` インタフェース内 `Loadable`
      戻り値:
        インスタンス化と同時にロードするために、thisインスタンスを返します。戻り値は 適切な型にキャストする必要があります。
      例外:
        `IllegalXMLFormatException`
        `ContentsFileNotFoundException`
        `ContentsIOException`

    - #### free

          public XMLReader free()

      インタフェースからコピーされた説明: `Freeable`
      コンテンツをメモリから破棄出来るようにします. 実際にメモリから破棄されるタイミングは、GCに依存します。
      まだロードされていないか、開放済みのオブジェクトを開放した場合には、通常は何も行いません。
      定義:
        `free` インタフェース内 `Freeable`
      戻り値:
        デフォルトでロードされる実装を、インスタンス化と同時に開放するためにthisインスタンスを返します。
        戻り値は適切な型にキャストする必要があります。通常、このような実装は効率的でないため推奨されません。

    - #### isLoaded

          public boolean isLoaded()

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

    - #### add

          public XMLReader add(java.util.Collection<? extends XMLElement> obj)

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

    - #### add

          public XMLReader add(TextIO<? extends XMLElement> other)

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

    - #### add

          public XMLReader add(XMLElement obj)

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

    - #### add

          public XMLReader add(XMLElement... obj)

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

    - #### clear

          public XMLReader clear()

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

    - #### remove

          public XMLReader remove(java.util.Collection<? extends XMLElement> obj)

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

    - #### remove

          public XMLReader remove(TextIO<? extends XMLElement> other)

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

    - #### remove

          public XMLReader remove(XMLElement obj)

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

    - #### remove

          public XMLReader remove(XMLElement... obj)

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