|
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Objectts.util.resource.AbstractResource
ts.util.resource.XmlResource
public class XmlResource
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
フィールドの概要 |
---|
インタフェース 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)
指定されたキーに該当する全要素の、指定された属性の値のリストを取得する。 |
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)
指定されたキーに該当する全要素の値文字列のリストを取得する。 |
protected 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)
指定されたキーに最初に該当する要素に、値文字列を設定する。 |
protected java.lang.String |
shortenWhitespace(java.lang.String s)
指定された文字列中の空白の並びを一つの空白に短縮する。 |
クラス java.lang.Object から継承されたメソッド |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
コンストラクタの詳細 |
---|
public XmlResource()
public XmlResource(java.lang.String path) throws java.io.FileNotFoundException, java.io.IOException
path
- XMLファイルのパス。
java.io.FileNotFoundException
- 指定したパスのファイルが見つからない場合。
java.io.IOException
- ファイルの入出力中に例外が発生した場合。protected XmlResource(XmlResource res)
res
- コピー元のXMLリソースオブジェクト。
java.lang.AssertionError
- 引数がヌルの場合(デバッグモードのみ)。メソッドの詳細 |
---|
protected org.w3c.dom.Document getDocument()
protected org.w3c.dom.Node getBaseNode()
protected org.w3c.dom.Node findFirstNode(java.lang.String key) throws IllegalKeyException
key
- キー。
IllegalKeyException
- キーが不正な場合。
java.lang.AssertionError
- 引数がヌルの場合(デバッグモードのみ)。protected java.util.List<org.w3c.dom.Node> findAllNodes(java.lang.String key) throws IllegalKeyException
key
- キー。
IllegalKeyException
- キーが不正な場合。
java.lang.AssertionError
- 引数がヌルの場合(デバッグモードのみ)。protected org.w3c.dom.Node findOrCreateFirstNode(java.lang.String key) throws IllegalKeyException
key
- キー文字列。
IllegalKeyException
- キーが不正な場合。
java.lang.AssertionError
- 引数がヌルの場合(デバッグモードのみ)。protected java.lang.String getNodeText(org.w3c.dom.Node node)
node
- ノードオブジェクト。
protected java.lang.String shortenWhitespace(java.lang.String s)
s
- 文字列。
java.lang.AssertionError
- 引数がヌルの場合(デバッグモードのみ)。public java.lang.String getFirstValue(java.lang.String key) throws IllegalKeyException
key
- キー文字列。
IllegalKeyException
- キーが不正な場合。
java.lang.AssertionError
- 引数がヌルの場合(デバッグモードのみ)。public java.util.List<java.lang.String> getValues(java.lang.String key) throws IllegalKeyException
key
- キー文字列。
IllegalKeyException
- キーが不正な場合。
java.lang.AssertionError
- 引数のヌルの場合(デバッグモードのみ)。public java.lang.String getFirstAttribute(java.lang.String key, java.lang.String attr) throws IllegalKeyException
key
- キー文字列。attr
- 属性名。
IllegalKeyException
- キーが不正な場合。
java.lang.AssertionError
- 引数がヌルの場合(デバッグモードのみ)。public java.util.List<java.lang.String> getAttributes(java.lang.String key, java.lang.String attr) throws IllegalKeyException
key
- キー文字列。attr
- 属性名。
IllegalKeyException
- キーが不正な場合。
AssertError
- 引数がヌルの場合。public Resource getFirstChild(java.lang.String key) throws IllegalKeyException
Resource.EMPTY
を返す。
引数のキーが不正な場合は例外をスローする。
key
- キー文字列。
IllegalKeyException
- キーが不正な場合。
java.lang.AssertionError
- 引数がヌルの場合(デバッグモードのみ)。public java.util.List<Resource> getChildren(java.lang.String key) throws IllegalKeyException
key
- キー文字列。
IllegalKeyException
- キーが不正な場合。
java.lang.AssertionError
- 引数がヌルの場合(デバッグモードのみ)。public void setFirstValue(java.lang.String key, java.lang.String value) throws IllegalKeyException
key
- キー文字列。value
- 引数のキーに最初に該当する要素に設定する値。
IllegalKeyException
- キーが不正な場合。
java.lang.AssertionError
- 引数がヌルの場合(デバッグモードのみ)。public Resource getOrCreateFirstChild(java.lang.String key) throws IllegalKeyException
key
- キー文字列。
IllegalKeyException
- キーが不正な場合。
java.lang.AssertionError
- 引数がヌルの場合(デバッグモードのみ)。public void removeChildren(java.lang.String key) throws IllegalKeyException
key
- キー文字列。
IllegalKeyException
- キーが不正な場合。
java.lang.AssertionError
- 引数がヌルの場合(デバッグモードのみ)。protected void load(java.io.InputStream stream) throws java.io.IOException
AbstractResource
内の load
stream
- 入力ストリーム。
java.io.IOException
- 読み込み中に例外が発生した場合。
java.lang.AssertionError
- 引数がヌルの場合(デバッグモードのみ)。protected javax.xml.parsers.DocumentBuilder createDocumentBuilder() throws javax.xml.parsers.ParserConfigurationException
javax.xml.parsers.ParserConfigurationException
- 要求された構成を満たすXMLドキュメント
構築オブジェクトを生成できない場合public void save(java.io.OutputStream stream) throws java.io.IOException
AbstractResource
内の save
stream
- 出力ストリーム。
java.lang.UnsupportedOperationException
- 子リソースを保存しようとした場合。
java.io.IOException
- ファイルの保存中に例外が発生した場合。
java.lang.AssertionError
- 引数がヌルの場合(デバッグモードのみ)。
|
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |