openGionopenGion
5.8.9.0

org.opengion.fukurou.xml
クラス OGElement

java.lang.Object
  上位を拡張 org.opengion.fukurou.xml.OGNode
      上位を拡張 org.opengion.fukurou.xml.OGElement

public class OGElement
extends OGNode

エレメントをあらわす、OGElement クラスを定義します。 エレメントは、OGNode クラスを継承し、名称、属性、ノードリストを持つオブジェクトです。 通常で言うところの、タグになります。 属性は、OGAttributes クラスで管理します。ノードリスト に関する操作は、OGNodeクラスの実装です。 OGNode は、enum OGNodeType で区別される状態を持っています。 OGNodeType は、それぞれ、再設定が可能です。 例えば、既存のエレメントやノードに対して、コメントタイプ(Comment)を指定すると、 ファイル等への出力時にコメントとして出力されます。

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

フィールドの概要
 
クラス org.opengion.fukurou.xml.OGNode から継承されたフィールド
CR
 
コンストラクタの概要
OGElement(String qName)
          ノード名を指定してのトコンストラクター ノード名のみ指定するため、属性と、ノードリストが空のエレメントを構築します。
OGElement(String qName, Attributes atts)
          ノード名、属性タブ、属性リストを指定してのトコンストラクター 注意 属性値の正規化は必ず行われます。
 
メソッドの概要
 void addAttr(String key, String val)
          属性リストに、属性(キー、値のセット)を設定します。
 String getId()
          属性リストから、id属性の、属性値を取得します。
 OGAttributes getOGAttributes()
          属性オブジェクトを返します。
 String getTagName()
          ノード名を返します。
 String getText(int cnt)
          オブジェクトの文字列表現を返します。
 String getVal(String key)
          属性リストから、指定の属性キーの、属性値を取得します。
 boolean match(String name, String key, String val)
          自分自身の状態が、指定の条件に合致しているかどうか、判定します。
 void setOGAttributes(OGAttributes attri)
          属性オブジェクトをセットします。
 
クラス org.opengion.fukurou.xml.OGNode から継承されたメソッド
addNode, addNode, changeNode, clearNode, getChildElementList, getElementList, getNode, getNodeType, getParentCount, getParentNode, nodeSize, removeNode, setNode, setNodeType, toString
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

コンストラクタの詳細

OGElement

public OGElement(String qName)
ノード名を指定してのトコンストラクター ノード名のみ指定するため、属性と、ノードリストが空のエレメントを構築します。

パラメータ:
qName - ノード名

OGElement

public OGElement(String qName,
                 Attributes atts)
ノード名、属性タブ、属性リストを指定してのトコンストラクター 注意 属性値の正規化は必ず行われます。 属性値に含まれるCR(復帰), LF(改行), TAB(タブ)は、 半角スペースに置き換えられます。 XMLの規定では、属性の並び順は保障されませんが、SAXのAttributesは、XMLに記述された順番で 取得できていますので、このクラスでの属性リストも、記述順での並び順になります。

パラメータ:
qName - ノード名
atts - 属性リスト
変更履歴:
5.2.1.0 (2010/10/01) タグ属性の改行処理を、Set からString[] に変更。
5.6.1.2 (2013/02/22) CR_SET を配列から文字列に変更
メソッドの詳細

getTagName

public String getTagName()
ノード名を返します。

戻り値:
ノード名

getOGAttributes

public OGAttributes getOGAttributes()
属性オブジェクトを返します。 これは、org.xml.sax.Attributes ではなく、OGAttributes オブジェクトを返します。 内部オブジェクトそのものを返しますので、この OGAttributes の変更は、この エレメントが持つ内部属性も変更されます。

戻り値:
属性オブジェクト

setOGAttributes

public void setOGAttributes(OGAttributes attri)
属性オブジェクトをセットします。 属性オブジェクトのセットは、このメソッドからのみできるようにします。 内部オブジェクトそのものにセットしますので、異なる OGAttributes をセットしたい場合は、 外部で、コピーしてからセットしてください。

パラメータ:
attri - 属性オブジェクト(org.opengion.fukurou.xml.OGAttributes)
変更履歴:
5.6.1.2 (2013/02/22) 新規追加

getId

public String getId()
属性リストから、id属性の、属性値を取得します。 id属性 は、内部的にキャッシュしており、すぐに取り出せます。 タグを特定する場合、一般属性のキーと値で選別するのではなく、 id属性を付与して選別するようにすれば、高速に見つけることが可能になります。

戻り値:
id属性値
変更履歴:
5.1.9.0 (2010/08/01) 新規追加

getVal

public String getVal(String key)
属性リストから、指定の属性キーの、属性値を取得します。 この処理は、属性リストをすべてスキャンして、キーにマッチする 属性オブジェクトを見つけ、そこから、属性値を取り出すので、 パフォーマンスに問題があります。 基本的には、アドレス指定で、属性値を取り出すようにしてください。

パラメータ:
key - 属性キー
戻り値:
属性値
変更履歴:
5.6.1.2 (2013/02/22) 新規追加

addAttr

public void addAttr(String key,
                    String val)
属性リストに、属性(キー、値のセット)を設定します。 属性リストの一番最後に、属性(キー、値のセット)を設定します。

パラメータ:
key - 属性リストのキー
val - 属性リストの値

match

public boolean match(String name,
                     String key,
                     String val)
自分自身の状態が、指定の条件に合致しているかどうか、判定します。 合致している場合は、true を、合致していない場合は、false を返します。 指定の属性が null の場合は、すべてに合致すると判断します。 例えば、kye のみ指定すると、その属性名を持っているエレメントすべてで true が返されます。 実行速度を考えると、ノード名は指定すべきです。

パラメータ:
name - ノード名 null の場合は、すべての ノード名 に合致
key - 属性名 null の場合は、すべての 属性名 に合致
val - 属性値 null の場合は、すべての 属性値 に合致
戻り値:
条件がこのエレメントに合致した場合 true

getText

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

オーバーライド:
クラス OGNode 内の getText
パラメータ:
cnt - Nodeの階層(-1:なし、0:改行のみ、1:改行+" "・・・・)
戻り値:
このオブジェクトの文字列表現
関連項目:
OGNode.toString()
変更履歴:
5.6.1.2 (2013/02/22) 内部テキストがない場合のタグの終了時にスペースは入れない。
5.6.4.4 (2013/05/31) 改行3つを改行2つに置換します。

openGion 5.8.9.0

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