openGionopenGion
5.3.9.0

org.opengion.fukurou.xml
クラス OGNode

java.lang.Object
  上位を拡張 org.opengion.fukurou.xml.OGNode
直系の既知のサブクラス:
OGDocument, OGElement

public class OGNode
extends java.lang.Object

ノードの基底クラスとなる、OGNode クラスを定義します。 OGElement、OGDocument は、この、OGNode クラスを継承します。 ただし、OGAttributes は、独立しているため、このクラスは継承していません。 最も一般的なノードは、テキストノードであり、 OGNode は、enum OGNodeType で区別される状態を持っています。 その内、OGElement と OGDocument は、サブクラスになっています。 OGNodeType は、それぞれ、再設定が可能です。 例えば、既存のエレメントやノードに対して、コメントタイプ(Comment)を指定すると、 ファイル等への出力時にコメントとして出力されます。   List   :内部に、OGNode の ArrayList を持つ   Text   :内部は、文字列の BODY 部分を持つ   Comment  :内部は、文字列であるが、toString() 時には、コメント記号を前後に出力する。   Cdata   :内部は、TextNodeのArrayList を持つ、toString() 時には、Cdataを前後に出力する。   Element  :タグ名、属性、OGNode の ArrayList の入れ子状態をもつ   Document :トップのElement として、read/write するときに使用。構造は、唯一の OGElement を持つ List タイプ

変更履歴:
5.1.8.0 (2010/07/01) 新規作成
バージョン
5.0
作成者
Kazuhiko Hasegawa
導入されたバージョン:
JDK6.0,

フィールドの概要
static java.lang.String CR
           
 
コンストラクタの概要
OGNode()
          デフォルトコンストラクター ここでは、NodeType は、List に設定されます。
OGNode(java.lang.String txt)
          テキストノードを構築するためのコンストラクター テキストノードは、簡易的に、内部には、ノードリストではなく文字列を持っています。
 
メソッドの概要
 OGNode addNode(OGNode node)
          ノードをノードリストに追加します。
 OGNode addNode(java.lang.String txt)
          テキストノードをノードリストに追加します。
 void changeNode(OGNode orgNode, OGNode newNode)
          ノードリストから、指定のノード(orgNode)を新しいノード(newNode)に置き換えます。
 void clearNode()
          ノードリストから、すべてのノードを削除します。
 java.util.List<OGElement> getChildElementList()
          ノードリストから、直下(メンバー)のエレメントのみをリストにして返します。
 java.util.List<OGElement> getElementList(java.lang.String qName)
          ノードリストから、下位の階層に存在するすべてのエレメントをリストにして返します。
 OGNode getNode(int adrs)
          ノードリストに追加されている、ノードを返します。
 OGNodeType getNodeType()
          ノードタイプを取得します。
 OGNode getParentNode()
          自身にセットされている、親ノードを返します。
 java.lang.String getText()
          ノードリストの文字列を返します。
 int nodeSize()
          ノードリストに追加されている、ノードの個数を返します。
 OGNode removeNode(int adrs)
          ノードリストから、指定の配列番号の、ノードを削除します。
 void setNode(int adrs, OGNode node)
          ノードリストに、ノードをセットします。
 void setNodeType(OGNodeType type)
          ノードタイプを設定します。
 java.lang.String toString()
          オブジェクトの文字列表現を返します。
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

フィールドの詳細

CR

public static final java.lang.String CR
コンストラクタの詳細

OGNode

public OGNode()
デフォルトコンストラクター ここでは、NodeType は、List に設定されます。


OGNode

public OGNode(java.lang.String txt)
テキストノードを構築するためのコンストラクター テキストノードは、簡易的に、内部には、ノードリストではなく文字列を持っています。 ここでは、NodeType は、Text に設定されます。

パラメータ:
txt - String テキストノードの設定値
メソッドの詳細

addNode

public OGNode addNode(java.lang.String txt)
テキストノードをノードリストに追加します。 内部的にテキストノードを構築して、リストに追加しています。 戻り値は、StringBuilder#append(String) の様に、連結登録できるように 自分自身を返しています。

パラメータ:
txt - String テキストノードの設定値
戻り値:
OGNode 自分自身(this)

addNode

public OGNode addNode(OGNode node)
ノードをノードリストに追加します。 追加するノードの親として、自分自身を登録します。 なお、同じオブジェクトを、複数の親に追加する場合(ノードリストには追加可能)は、 親ノードは、最後に登録されたノードのみが設定されます。

パラメータ:
node - OGNode ノード
戻り値:
OGNode 自分自身(this)

nodeSize

public int nodeSize()
ノードリストに追加されている、ノードの個数を返します。

戻り値:
int ノードリストの数

getNode

public OGNode getNode(int adrs)
ノードリストに追加されている、ノードを返します。 ノードの指定には、配列番号を使用します。 ノードの個数は、事前に、nodeSize() で調べて置いてください。

パラメータ:
adrs - int ノードリストの位置
戻り値:
OGNode ノード

setNode

public void setNode(int adrs,
                    OGNode node)
ノードリストに、ノードをセットします。 ノードリストの指定のアドレスに、ノードをセットします。 これは、追加ではなく置換えになります。 ノードの指定には、配列番号を使用します。 ノードの個数は、事前に、nodeSize() で調べて置いてください。

パラメータ:
adrs - int ノードリストの位置
node - OGNode セットするノード

getParentNode

public OGNode getParentNode()
自身にセットされている、親ノードを返します。 親ノードは、自身のオブジェクトに、一つしか設定できません。 これは、オブジェクトとして、同一ノードを、複数の親ノードに 追加した場合(これは、ノードリストへの追加なので可能)最後に追加した 親ノードのみ、保持していることになります。 XML を構築するときは、同一のノードであっても、毎回、作成しなおさないと、 親ノードを見つけて、何かを行う場合には、おかしな動きをすることになります。 なお、ノードオブジェクト自体が、親ノードから削除されても、自身の 親ノード情報は保持し続けています。 ある Element から削除したノードを別のElementに追加すると、その時点で、 親ノードも更新されます。

戻り値:
OGNode 親ノード

removeNode

public OGNode removeNode(int adrs)
ノードリストから、指定の配列番号の、ノードを削除します。 ノードの指定には、配列番号を使用します。 ノードの個数は、事前に、nodeSize() で調べて置いてください。

パラメータ:
adrs - int ノードリストの位置
戻り値:
OGNode 削除されたノード

clearNode

public void clearNode()
ノードリストから、すべてのノードを削除します。 これは、ノードリストをクリアします。


changeNode

public void changeNode(OGNode orgNode,
                       OGNode newNode)
ノードリストから、指定のノード(orgNode)を新しいノード(newNode)に置き換えます。 ノードは、それぞれ、ノードが作成された順番で、ユニークな番号を持っています。 その番号を元に、ノードを探し出して、置き換えます。 通常の、XMLパースから作成されたノードは、すべて一意にユニーク番号が振られますが、 新しくつったノードを複数のノードと置き換える場合、置き換えられた後のノードは、 オブジェクトそのものが、同一になるため、注意が必要です。

パラメータ:
orgNode - OGNode 置換元のオリジナルノード
newNode - OGNode 置換する新しいノード

getChildElementList

public java.util.List<OGElement> getChildElementList()
ノードリストから、直下(メンバー)のエレメントのみをリストにして返します。 ノードリストの第一レベルで、エレメントのみを返します。 通常は、あるエレメントを、getElementList( String ) 等で検索した後、その子要素を 取り出す場合に使用します。 該当するエレメントが、なにも存在しない場合は、空のリストオブジェクトが返されます。

戻り値:
List 直下(メンバー)のエレメントのリスト

getElementList

public java.util.List<OGElement> getElementList(java.lang.String qName)
ノードリストから、下位の階層に存在するすべてのエレメントをリストにして返します。 エレメントは、名前を指定して検索します。 該当するエレメントが、なにも存在しない場合は、空のリストオブジェクトが返されます。

パラメータ:
qName - String エレメントの名前
戻り値:
List 下位の階層に存在するすべてのエレメントのリスト

getText

public java.lang.String getText()
ノードリストの文字列を返します。 これは、タグで言うところのBODY部に書かれた文字列に相当します。 該当する文字列が、存在しない場合は、空の文字列(ゼロストリング)が返されます。

戻り値:
String ノードリストの文字列(BODY部に書かれた文字列)

setNodeType

public void setNodeType(OGNodeType type)
ノードタイプを設定します。 ノードタイプとは、List , Text , Comment , Cdata , Element , Document などの ノードの種別を表す enum タイプです。 基本的には、オブジェクトの取得時に、ファクトリメソッド経由であれば、自動的に設定 されています。 ここでは、可変設定できます。 例えば、既存のエレメントやノードに対して、コメントタイプ(Comment)を指定すると、 ファイル等への出力時にコメントとして出力されます。 null を指定すると、なにも処理されません。

パラメータ:
type - OGNodeType enum のOGNodeType
関連項目:
OGNodeType

getNodeType

public OGNodeType getNodeType()
ノードタイプを取得します。 ノードタイプとは、List , Text , Comment , Cdata , Element , Document などの ノードの種別を表す enum タイプです。 基本的には、オブジェクトの取得時に、ファクトリメソッド経由であれば、自動的に設定 されています。

戻り値:
OGNodeType ノードタイプ
関連項目:
OGNodeType

toString

public java.lang.String toString()
オブジェクトの文字列表現を返します。 文字列は、OGNodeType により異なります。 Comment ノードの場合は、コメント記号を、Cdata ノードの場合は、CDATA を つけて出力します。

オーバーライド:
クラス java.lang.Object 内の toString
戻り値:
String このオブジェクトの文字列表現
関連項目:
Object.toString()

openGion 5.3.9.0

Webアプリケーションフレームワーク openGion
SourceForge.JPCopyright (c) 2009 The openGion Project.