概要 | パッケージ | クラス | 使用 | 階層ツリー | 非推奨 API | 索引 | ヘルプ
前のクラス 次のクラス | フレームあり フレームなし
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド

## ts.util.resource
クラス XmlResource

    java.lang.Object
      ts.util.resource.AbstractResource
          ts.util.resource.XmlResource

すべての実装されたインタフェース:
  Resource

    public class XmlResource

extends AbstractResource

XMLファイルを対象とするリソースクラス。
XMLファイルをロードして、その内容から指定されたキーに対する値を取得する。 また、指定されたキーに対して値を設定し、その内容をXMLファイルに保存する。 名前空間の対応については、名前空間を特定してロードしたり保存したりすること はできないが、名前空間を使ったXMLファイルでも、名前空間を使用しない場合と 同様にロードして値を取得したり、値を設定して保存したりできるようにしている。

XMLファイルの記述と、リソースオブジェクトのキーとの対応は、例えば以下のよう になる。

      〜 XMLファイル 〜
        <aaa>
          <bbb>
            <ddd>あああ</ddd>
            <eee>いいい</eee>
            <eee>ううう</eee>
          </bbb>
          <ccc>
            <fff id="F1">えええ</fff>
            <fff id="F2">おおお</fff>
          </ccc>
        </aaa>
       - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
        res : XmlResource

        res.getFirstValue("aaa.bbb.ddd") → あああ
        res.getFirstValue("aaa.bbb.eee") → いいい
        res.getFirstValue("aaa.bbb.fff") → えええ

        res.getValues("aaa.bbb.ddd")     → { あああ }
        res.getValues("aaa.bbb.eee")     → { いいい, ううう }
        res.getValues("aaa.bbb.fff")     → { えええ, おおお }

        res.getFirstValue("aaa.bbb.eee(id=F1)") → えええ
        res.getFirstValue("aaa.bbb.eee(id=F2)") → おおお

        res.getValues("aaa.bbb.eee(id=F2)") → { おおお }

        res.getFirstAttribute("aaa.bbb.fff", "id")        → F1
        res.getFirstAttribute("aaa.bbb.fff(id=F2)", "id") → F2

        res.getAttributes("aaa.bbb.fff", "id")        → F1
        res.getAttributes("aaa.bbb.fff(id=F2)", "id") → F2

バージョン:
  $Revision: 1.3 $, $Date: 2010-11-14 11:51:02 $
作成者:
  佐藤隆之.

フィールドの概要

インタフェース ts.util.resource.Resource から継承されたフィールド
`EMPTY`

コンストラクタの概要
`` | `XmlResource()` デフォルトコンストラクタ。
`` | `XmlResource(java.lang.String path)` XMLファイルのパスを引数にとるコンストラクタ。
`protected` | `XmlResource(XmlResource res)` コピーコンストラクタ。

メソッドの概要
`protected javax.xml.parsers.DocumentBuilder` | `createDocumentBuilder()` XMLドキュメント構築オブジェクトを作成する。
`protected java.util.List<org.w3c.dom.Node>` | `findAllNodes(java.lang.String key)` 指定されたキーに該当する全てのノードを取得する。
`protected org.w3c.dom.Node` | `findFirstNode(java.lang.String key)` 指定されたキーに最初に該当するノードを取得する。
`protected org.w3c.dom.Node` | `findOrCreateFirstNode(java.lang.String key)` キー要素リストに最初に該当する下位ノードを探索して、存在すればそれを返し、 存在しなければ作成して返す。
`java.util.List<java.lang.String>` | `getAttributes(java.lang.String key, java.lang.String attr)` 指定されたキーに該当する全要素の、指定された属性の値のリストを取得する。
`java.lang.String` | `getBaseElementName()` 基底要素の名前を取得する。
`protected org.w3c.dom.Node` | `getBaseNode()` このオブジェクトが示すドキュメントオブジェクトの基底ノードを取得する。
`java.util.List<Resource>` | `getChildren(java.lang.String key)` 指定されたキーに最初に該当する子リソースのリストを取得する。
`protected org.w3c.dom.Document` | `getDocument()` XMLドキュメントオブジェクトを取得する。
`java.lang.String` | `getFirstAttribute(java.lang.String key, java.lang.String attr)` 指定されたキーに最初に該当する要素の、指定された属性の値を取得する。
`Resource` | `getFirstChild(java.lang.String key)` 指定されたキーに最初に該当する要素を基底要素とする子リソースを取得する。
`java.lang.String` | `getFirstValue(java.lang.String key)` 指定されたキーに最初に該当する要素の値文字列を取得する。
`protected java.lang.String` | `getNodeText(org.w3c.dom.Node node)` 指定されたノードのテキスト値を取得する。
`Resource` | `getOrCreateFirstChild(java.lang.String key)` 指定されたキーに最初に該当する要素を基底要素とする子リソースを取得する。
`java.util.List<java.lang.String>` | `getValues(java.lang.String key)` 指定されたキーに該当する全要素の値文字列のリストを取得する。
`java.util.List<java.lang.Object>` | `getValuesAndChildren()` 現在の基底要素の全てのテキスト値と、子要素のリソース・オブジェクトを格納 したリストを取得する。
`void` | `load(java.io.InputStream stream)` 引数の入力ストリームからXMLファイルの内容を読み込む。
`void` | `removeChildren(java.lang.String key)` 指定されたキーに該当する全ての要素を削除する。
`void` | `save(java.io.OutputStream stream)` このオブジェクトが保持しているドキュメントの内容を、指定された 出力ストリームに保存する。
`void` | `setFirstValue(java.lang.String key, java.lang.String value)` 指定されたキーに最初に該当する要素に、値文字列を設定する。
`void` | `setValidating(boolean isValidating)` XMLファイルを読み込む際にXMLの正当性をチェックするかどうかを設定する。
`protected java.lang.String` | `shortenWhitespace(java.lang.String s)` 指定された文字列中の空白の並びを一つの空白に短縮する。

クラス ts.util.resource.AbstractResource から継承されたメソッド
`attributeMatchMark, attributeParenthesis, attributeSeparator, elementSeparator, getAttributeMatchMark, getAttributeParenthesis, getAttributeSeparator, getElementSeparator, getInputStream, getNameOfKeyElement, getOutputStream, getPath, listAttributesOfKeyElement, load, save, setAttributeMatchMark, setAttributeMatchMark, setAttributeParenthesis, setAttributeParenthesis, setAttributeSeparator, setAttributeSeparator, setElementSeparator, setElementSeparator, splitKey`

クラス java.lang.Object から継承されたメソッド
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

コンストラクタの詳細

### XmlResource

    public XmlResource()

  デフォルトコンストラクタ。

### XmlResource

    public XmlResource(java.lang.String path)
                throws java.io.FileNotFoundException,
                       java.io.IOException

  XMLファイルのパスを引数にとるコンストラクタ。

  パラメータ:
    `path` - XMLファイルのパス。
  例外:
    `java.io.FileNotFoundException` - 指定したパスのファイルが見つからない場合。
    `java.io.IOException` - ファイルの入出力中に例外が発生した場合。

### XmlResource

    protected XmlResource(XmlResource res)

  コピーコンストラクタ。

  パラメータ:
    `res` - コピー元のXMLリソースオブジェクト。
  例外:
    `java.lang.AssertionError` - 引数がヌルの場合（デバッグモードのみ）。

メソッドの詳細

### setValidating

    public void setValidating(boolean isValidating)

  XMLファイルを読み込む際にXMLの正当性をチェックするかどうかを設定する。
  デフォルトでは`false`である。

### getDocument

    protected org.w3c.dom.Document getDocument()

  XMLドキュメントオブジェクトを取得する。

  戻り値:
    XMLドキュメントオブジェクト。

### getBaseNode

    protected org.w3c.dom.Node getBaseNode()

  このオブジェクトが示すドキュメントオブジェクトの基底ノードを取得する。

  戻り値:
    基底ノード。

### getBaseElementName

    public java.lang.String getBaseElementName()

  基底要素の名前を取得する。
  要素名に名前空間が含まれている場合は、ローカル名だけを返す。

  戻り値:
    基底要素の名前。

### findFirstNode

    protected org.w3c.dom.Node findFirstNode(java.lang.String key)
                                      throws IllegalKeyException

  指定されたキーに最初に該当するノードを取得する。
  該当するノードが一つも存在しない場合はヌルを返す。 引数のキーが不正な場合は例外をスローする。

  パラメータ:
    `key` - キー。
  戻り値:
    引数のキーに最初に対応するノード。
  例外:
    `IllegalKeyException` - キーが不正な場合。
    `java.lang.AssertionError` - 引数がヌルの場合（デバッグモードのみ）。

### findAllNodes

    protected java.util.List<org.w3c.dom.Node> findAllNodes(java.lang.String key)
                                                     throws IllegalKeyException

  指定されたキーに該当する全てのノードを取得する。
  該当するノードが一つも存在しない場合は空のリストを返す。 引数のキーが不正な場合は例外をスローする。

  パラメータ:
    `key` - キー。
  戻り値:
    引数のキーに対応する全てのノードを格納するリスト。
  例外:
    `IllegalKeyException` - キーが不正な場合。
    `java.lang.AssertionError` - 引数がヌルの場合（デバッグモードのみ）。

### findOrCreateFirstNode

    protected org.w3c.dom.Node findOrCreateFirstNode(java.lang.String key)
                                              throws IllegalKeyException

  キー要素リストに最初に該当する下位ノードを探索して、存在すればそれを返し、 存在しなければ作成して返す。
  引数のキーが不正な場合は、例外をスローする。

  パラメータ:
    `key` - キー文字列。
  戻り値:
    引数のキーに最初に対応する、又は作成されたノード。
  例外:
    `IllegalKeyException` - キーが不正な場合。
    `java.lang.AssertionError` - 引数がヌルの場合（デバッグモードのみ）。

### getNodeText

    protected java.lang.String getNodeText(org.w3c.dom.Node node)

  指定されたノードのテキスト値を取得する。
  引数がヌルの場合は空文字列を返す。

  パラメータ:
    `node` - ノードオブジェクト。
  戻り値:
    引数のノードのテキスト値。

### shortenWhitespace

    protected java.lang.String shortenWhitespace(java.lang.String s)

  指定された文字列中の空白の並びを一つの空白に短縮する。
  但し、文字列の先頭と終端の空白は除去する。

  パラメータ:
    `s` - 文字列。
  戻り値:
    空白の並びを一つの空白に短縮された文字列。
  例外:
    `java.lang.AssertionError` - 引数がヌルの場合（デバッグモードのみ）。

### getFirstValue

    public java.lang.String getFirstValue(java.lang.String key)
                                   throws IllegalKeyException

  指定されたキーに最初に該当する要素の値文字列を取得する。
  該当する要素が一つも存在しない場合は空文字列を返す。 引数のキーが不正な場合は例外をスローする。

  パラメータ:
    `key` - キー文字列。
  戻り値:
    引数のキーに最初に該当する要素の値文字列。
  例外:
    `IllegalKeyException` - キーが不正な場合。
    `java.lang.AssertionError` - 引数がヌルの場合（デバッグモードのみ）。

### getValues

    public java.util.List<java.lang.String> getValues(java.lang.String key)
                                               throws IllegalKeyException

  指定されたキーに該当する全要素の値文字列のリストを取得する。
  該当する要素が一つも存在しない場合は空のリストを返す。 引数のキーが不正な場合は例外をスローする。

  パラメータ:
    `key` - キー文字列。
  戻り値:
    引数のキーに該当する全要素の値文字列のリスト。
  例外:
    `IllegalKeyException` - キーが不正な場合。
    `java.lang.AssertionError` - 引数のヌルの場合（デバッグモードのみ）。

### getFirstAttribute

    public java.lang.String getFirstAttribute(java.lang.String key,
                                              java.lang.String attr)
                                       throws IllegalKeyException

  指定されたキーに最初に該当する要素の、指定された属性の値を取得する。
  該当する要素が存在しない場合は空文字列を返す。 該当する要素に、指定された名前の属性が存在しない場合は空文字列を返す。 引数のキーが不正な場合は例外をスローする。

  パラメータ:
    `key` - キー文字列。
    `attr` - 属性名。
  戻り値:
    引数のキーに最初に該当する要素の、指定された属性の値。
  例外:
    `IllegalKeyException` - キーが不正な場合。
    `java.lang.AssertionError` - 引数がヌルの場合（デバッグモードのみ）。

### getAttributes

    public java.util.List<java.lang.String> getAttributes(java.lang.String key,
                                                          java.lang.String attr)
                                                   throws IllegalKeyException

  指定されたキーに該当する全要素の、指定された属性の値のリストを取得する。
  該当する要素が一つも存在しない場合は空のリストを返す。 引数のキーが不正な場合は例外をスローする。

  パラメータ:
    `key` - キー文字列。
    `attr` - 属性名。
  戻り値:
    引数のキーに該当する全要素の、指定された属性の値のリスト。
  例外:
    `IllegalKeyException` - キーが不正な場合。
    `AssertError` - 引数がヌルの場合。

### getFirstChild

    public Resource getFirstChild(java.lang.String key)
                           throws IllegalKeyException

  指定されたキーに最初に該当する要素を基底要素とする子リソースを取得する。
  指定されたキーに該当する要素が存在しない場合は `Resource.EMPTY`を返す。 引数のキーが不正な場合は例外をスローする。

  パラメータ:
    `key` - キー文字列。
  戻り値:
    引数のキーに最初に該当する要素の子リソース。
  例外:
    `IllegalKeyException` - キーが不正な場合。
    `java.lang.AssertionError` - 引数がヌルの場合（デバッグモードのみ）。

### getChildren

    public java.util.List<Resource> getChildren(java.lang.String key)
                                         throws IllegalKeyException

  指定されたキーに最初に該当する子リソースのリストを取得する。
  指定されたキーに該当する要素が存在しない場合は空のリストを返す。 引数のキーが不正な場合は例外をスローする。

  パラメータ:
    `key` - キー文字列。
  戻り値:
    引数のキーに該当する要素の子リソースのリスト。
  例外:
    `IllegalKeyException` - キーが不正な場合。
    `java.lang.AssertionError` - 引数がヌルの場合（デバッグモードのみ）。

### setFirstValue

    public void setFirstValue(java.lang.String key,
                              java.lang.String value)
                       throws IllegalKeyException

  指定されたキーに最初に該当する要素に、値文字列を設定する。
  指定されたキーに該当する要素が存在しない場合は、その要素を作成して 値を設定する。

  パラメータ:
    `key` - キー文字列。
    `value` - 引数のキーに最初に該当する要素に設定する値。
  例外:
    `IllegalKeyException` - キーが不正な場合。
    `java.lang.AssertionError` - 引数がヌルの場合（デバッグモードのみ）。

### getOrCreateFirstChild

    public Resource getOrCreateFirstChild(java.lang.String key)
                                   throws IllegalKeyException

  指定されたキーに最初に該当する要素を基底要素とする子リソースを取得する。 指定されたキーに該当する要素が存在しない場合は作成して返す。
  引数のキーが不正な場合は例外をスローする。

  パラメータ:
    `key` - キー文字列。
  戻り値:
    指定されたキーに最初に該当する要素を基底要素とする子リソース。
  例外:
    `IllegalKeyException` - キーが不正な場合。
    `java.lang.AssertionError` - 引数がヌルの場合（デバッグモードのみ）。

### removeChildren

    public void removeChildren(java.lang.String key)
                        throws IllegalKeyException

  指定されたキーに該当する全ての要素を削除する。
  指定されたキーに該当する要素が見つからなかった場合は、何もしない。

  パラメータ:
    `key` - キー文字列。
  例外:
    `IllegalKeyException` - キーが不正な場合。
    `java.lang.AssertionError` - 引数がヌルの場合（デバッグモードのみ）。

### getValuesAndChildren

    public java.util.List<java.lang.Object> getValuesAndChildren()

  現在の基底要素の全てのテキスト値と、子要素のリソース・オブジェクトを格納 したリストを取得する。

  戻り値:
    現在の基底要素のテキスト値、及び子要素のリソース・オブジェクトを 格納したリスト。

### load

    public void load(java.io.InputStream stream)
              throws java.io.IOException

  引数の入力ストリームからXMLファイルの内容を読み込む。

  定義:
    クラス `AbstractResource` 内の `load`
  パラメータ:
    `stream` - 入力ストリーム。
  例外:
    `java.io.IOException` - 読み込み中に例外が発生した場合。
    `java.lang.AssertionError` - 引数がヌルの場合（デバッグモードのみ）。

### createDocumentBuilder

    protected javax.xml.parsers.DocumentBuilder createDocumentBuilder()
                                                               throws javax.xml.parsers.ParserConfigurationException

  XMLドキュメント構築オブジェクトを作成する。

  戻り値:
    XMLドキュメント構築オブジェクト。
  例外:
    `javax.xml.parsers.ParserConfigurationException` - 要求された構成を満たすXMLドキュメント 構築オブジェクトを生成できない場合

### save

    public void save(java.io.OutputStream stream)
              throws java.io.IOException

  このオブジェクトが保持しているドキュメントの内容を、指定された 出力ストリームに保存する。

  定義:
    クラス `AbstractResource` 内の `save`
  パラメータ:
    `stream` - 出力ストリーム。
  例外:
    `java.lang.UnsupportedOperationException` - 子リソースを保存しようとした場合。
    `java.io.IOException` - ファイルの保存中に例外が発生した場合。
    `java.lang.AssertionError` - 引数がヌルの場合（デバッグモードのみ）。

概要 | パッケージ | クラス | 使用 | 階層ツリー | 非推奨 API | 索引 | ヘルプ
前のクラス 次のクラス | フレームあり フレームなし
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド

Copyright (C) SATOH Takayuki All Rights Reserved.