|
LixM SE 1.1u2(1.1.2) | ||||||||
前のクラス 次のクラス | フレームあり フレームなし | ||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Objectorg.lixm.core.list.XMLModelList
public class XMLModelList
このリストには整形式または妥当なXMLのみが格納されます。
つまり実装ではモデライズの時点で整形式または妥当なXMLである事を確認し、
生成されるリストではそのどちらかである事を保障しなければいけません。
LIXMではXMLにおける参照はモデライズの際に解決しておかなければいけません。
リストの中に実体参照が出てきてはいけないと言う事です。
しかし、外部実体の扱いはこの仕様では未定義です。
その理由は以下の通りです。
実体参照はXML内に直接含める事の出来ない特殊文字を現すための仕組みであり、 XMLにアクセスし実体参照を取得するという事はつまりは、 その実体参照が現している文字そのものが必要であるという事です。
このため、XMLを扱う過程で最終的にXMLの必要な情報にアクセスする段階では 特殊文字とその他の文字を区別する必要はありません。
さらに、単なる文字一つを取得するために実体参照から文字への変換を取得するコードを 逐一挿入していては煩雑で見通しの悪いソースコードが出来上がってしまうでしょう。
このため、LIXMでは実体参照は扱いません。
このような弱点はDOMにもあります。
DOMにはプラットフォーム中立性ためにノードと呼ばれる独自の概念が存在します。
このノードはLIXMではモデルに該当しますが、DOMはこの任意のノードの取得方法が
とても直感的ではなく、かつ煩雑になりがちです。
LIXMはDOMとは違ったアプローチによりXML内の情報へ 直感的に低レベルで一般的なアクセスを可能とする事が目的です。
LIXMでは文書型やカタログは特別にモデル化しないという事です。 結果的に文書型モデルやカタログモデルはリストには存在しないという事です。
これらのモデル化が必要なのはバリデータや高レベルなものではスキーマコンパイラ等になるでしょう。
コンストラクタの概要 | |
---|---|
XMLModelList()
初期化します。 |
|
XMLModelList(AbstractModel[] array)
AbstractModel
配列を利用して初期化します。 |
|
XMLModelList(int initialCapacity)
モデル数を指定して初期化します。 |
メソッドの概要 | |
---|---|
void |
add(AbstractModel model)
リストの指定位置にモデルを追加 |
void |
clear()
このXMLモデルリストからすべての要素を削除します。 |
AbstractModel |
get(int index)
リストの指定した位置のモデルを取得 |
XMLCursor |
getCursor()
このリストに関連付けられているカーソルを返します。 |
AbstractModel |
getRootEndTag()
ルート要素の終了タグを取得 |
AbstractModel |
getRootStartTag()
ルート要素の開始タグを取得 |
boolean |
isEmpty()
リストにモデルが格納されているか? |
boolean |
remove(java.lang.Object model)
指定されたモデルがあればそれをリストから削除します。 |
void |
set(AbstractModel model,
int index)
リストの指定した位置のモデルを設定 |
int |
size()
リスト内の総モデル数を返します。 |
クラス java.lang.Object から継承されたメソッド |
---|
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
コンストラクタの詳細 |
---|
public XMLModelList()
public XMLModelList(int initialCapacity)
initialCapacity
- モデル数public XMLModelList(AbstractModel[] array)
AbstractModel
配列を利用して初期化します。
array
- モデルの配列メソッドの詳細 |
---|
public AbstractModel get(int index)
リストの指定した位置のモデルを取得
index
- 取得するモデルのリスト内での絶対位置
public AbstractModel getRootStartTag()
ルート要素の開始タグを取得
ルート要素のモデルを見つけた場合の
戻り値はStartTagModel
です。
それ以外はnull
です。
メソッドの戻り値の型は
AbstractModel
なので適切にキャストしてください。
public AbstractModel getRootEndTag()
ルート要素の終了タグを取得
ルート要素のモデルを見つけた場合の
戻り値はEndTagModel
です。
それ以外はnull
です。
メソッドの戻り値の型はAbstractModel
なので適切にキャストしてください。
public void add(AbstractModel model)
リストの指定位置にモデルを追加
model
- 追加するモデルpublic boolean isEmpty()
リストにモデルが格納されているか?
public int size()
リスト内の総モデル数を返します。
public XMLCursor getCursor()
このリストに関連付けられているカーソルを返します。
public void clear()
このXMLモデルリストからすべての要素を削除します。 このメソッドが戻ると、XMLモデルリストは空になります。
public void set(AbstractModel model, int index) throws java.lang.ArrayIndexOutOfBoundsException
リストの指定した位置のモデルを設定
model
- モデルindex
- インデックス
java.lang.ArrayIndexOutOfBoundsException
public boolean remove(java.lang.Object model) throws java.lang.ClassCastException, java.lang.NullPointerException
指定されたモデルがあればそれをリストから削除します。
java.lang.ClassCastException
- model
がAbstractModel
型ではない場合
java.lang.NullPointerException
- モデルがnull
の場合
|
LixM SE 1.1u2(1.1.2) | ||||||||
前のクラス 次のクラス | フレームあり フレームなし | ||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |