パッケージ org.opengion.fukurou.xml

クラス OGAttributes

java.lang.Object
org.opengion.fukurou.xml.OGAttributes

public class OGAttributes extends Object
属性リストをあらわす、OGAttributes クラスを定義します。 属性リストは、キーと値のペアを、並び順で管理しているリストを保持しています。 内部的には、 org.xml.sax.Attributes からの値の設定と、タブの属性の整列を行うための 属性タブ、属性の改行の制御、属性の長さの制御 などを行います。
変更履歴:
5.1.8.0 (2010/07/01) 新規作成
導入されたバージョン:
JDK6.0,
  • フィールドの概要

    フィールド
    修飾子とタイプ
    フィールド
    説明
    static final int
    属性の個数制限。
    static final int
    属性の長さ制限。
  • コンストラクタの概要

    コンストラクタ
    コンストラクタ
    説明
    デフォルトトコンストラクター 取りあえず、属性オブジェクトを構築する場合に使用します。
    属性タブ、属性リスト、属性改行の有無を指定してのトコンストラクター 属性タブ、属性リストに null を指定すると、デフォルトトコンストラクターの設定と 同じ状態になります。
  • メソッドの概要

    修飾子とタイプ
    メソッド
    説明
    void
    add(int adrs, String key, String val)
    指定のアドレスの属性リストに、属性(キー、値のセット)を設定します。
    void
    add(String key, String val)
    属性リストに、属性(キー、値のセット)を設定します。
    int
    属性リストから、指定の属性キーの、アドレスを取得します。
    属性リストから、id属性の、属性値を取得します。
    getKey(int adrs)
    属性リストから、指定の配列番号の、属性キーを取得します。
    getText(String attTab)
    オブジェクトの文字列表現を返します。
    getVal(int adrs)
    属性リストから、指定の配列番号の、属性値を取得します。
    属性リストから、指定の属性キーの、属性値を取得します。
    void
    remove(int adrs)
    指定のアドレスの属性リストから、属性情報を削除します。
    void
    setUseCR(boolean useCR)
    属性改行の有無を設定します。
    void
    setVal(int adrs, String val)
    属性リストの、指定の配列番号に、属性値を設定します。
    void
    setVal(String key, String val)
    属性リストに、指定のキー、属性値を設定します。
    int
    属性リストの個数を取得します。
    オブジェクトの文字列表現を返します。

    クラスから継承されたメソッド java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
  • フィールド詳細

  • コンストラクタの詳細

    • OGAttributes

      public OGAttributes()
      デフォルトトコンストラクター 取りあえず、属性オブジェクトを構築する場合に使用します。 属性タブは、改行+タブ、属性リストは、空のリスト、属性改行は、false を初期設定します。
    • OGAttributes

      public OGAttributes(Attributes attri)
      属性タブ、属性リスト、属性改行の有無を指定してのトコンストラクター 属性タブ、属性リストに null を指定すると、デフォルトトコンストラクターの設定と 同じ状態になります。 注意 属性値の正規化は必ず行われます。 属性値に含まれるCR(復帰), LF(改行), TAB(タブ)は、半角スペースに置き換えられます。 XMLの規定では、属性の並び順は保障されませんが、SAXのAttributesは、XMLに記述された順番で 取得できていますので、このクラスでの属性リストも、記述順での並び順になります。
      パラメータ:
      attri - 属性リスト
      変更履歴:
      5.1.9.0 (2010/08/01) id 属性のみ特別にキャッシュしておく。
  • メソッドの詳細

    • setUseCR

      public void setUseCR(boolean useCR)
      属性改行の有無を設定します。 タグによって、属性が多くなったり、意味が重要な場合は、属性1つづつに改行を 行いたいケースがあります。 属性改行をtrue に設定すると、属性一つづつで、改行を行います。 false の場合は、自動的な改行処理が行われます。 これは、属性の個数制限(CR_CNT)を超える場合は、改行を行います。
      パラメータ:
      useCR - 属性改行の有無(true:1属性単位の改行)
      関連項目:
    • size

      public int size()
      属性リストの個数を取得します。
      戻り値:
      属性リストの個数
    • getKey

      public String getKey(int adrs)
      属性リストから、指定の配列番号の、属性キーを取得します。
      パラメータ:
      adrs - 配列番号
      戻り値:
      属性キー
    • getVal

      public String getVal(int adrs)
      属性リストから、指定の配列番号の、属性値を取得します。
      パラメータ:
      adrs - 配列番号
      戻り値:
      属性値
    • getVal

      public String getVal(String key)
      属性リストから、指定の属性キーの、属性値を取得します。 この処理は、属性リストをすべてスキャンして、キーにマッチする 属性オブジェクトを見つけ、そこから、属性値を取り出すので、 パフォーマンスに問題があります。 基本的には、アドレス指定で、属性値を取り出すようにしてください。
      パラメータ:
      key - 属性キー
      戻り値:
      属性値
      変更履歴:
      5.1.9.0 (2010/08/01) 新規追加
    • getAdrs

      public int getAdrs(String key)
      属性リストから、指定の属性キーの、アドレスを取得します。 どちらかというと、キーの存在チェックに近い処理を行います。 この処理は、属性リストをすべてスキャンして、キーにマッチする 属性オブジェクトを見つけ、そこから、属性値を取り出すので、 パフォーマンスに問題があります。
      パラメータ:
      key - 属性キー
      戻り値:
      アドレス キーが存在しない場合は、-1 を返す。
      変更履歴:
      5.1.9.0 (2010/08/01) 新規追加
    • getId

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

      public void setVal(int adrs, String val)
      属性リストの、指定の配列番号に、属性値を設定します。
      パラメータ:
      adrs - 配列番号
      val - 属性値
      変更履歴:
      5.1.9.0 (2010/08/01) id 属性のみ特別にキャッシュしておく。
    • setVal

      public void setVal(String key, String val)
      属性リストに、指定のキー、属性値を設定します。 もし、属性リストに、指定のキーがあれば、属性値を変更します。 なければ、最後に追加します。
      パラメータ:
      key - 属性キー
      val - 属性値
      変更履歴:
      5.6.1.2 (2013/02/22) 新規追加
    • add

      public void add(String key, String val)
      属性リストに、属性(キー、値のセット)を設定します。 属性リストの一番最後に、属性(キー、値のセット)を設定します。
      パラメータ:
      key - 属性リストのキー
      val - 属性リストの値
      変更履歴:
      5.1.9.0 (2010/08/01) id 属性のみ特別にキャッシュしておく。
    • add

      public void add(int adrs, String key, String val)
      指定のアドレスの属性リストに、属性(キー、値のセット)を設定します。 指定のアドレスの属性を置き換えるのではなく追加します。
      パラメータ:
      adrs - 属性リストのアドレス
      key - 属性リストのキー
      val - 属性リストの値
      変更履歴:
      5.1.9.0 (2010/08/01) id 属性のみ特別にキャッシュしておく。
    • remove

      public void remove(int adrs)
      指定のアドレスの属性リストから、属性情報を削除します。 指定のアドレスの属性を置き換えるのではなく追加します。
      パラメータ:
      adrs - 属性リストのアドレス
      変更履歴:
      5.1.9.0 (2010/08/01) id 属性のみ特別にキャッシュしておく。
    • getText

      public String getText(String attTab)
      オブジェクトの文字列表現を返します。 属性については、並び順は、登録順が保障されます。 属性は、3つのパターンで文字列化を行います。 ・useCR=true の場合 この場合は、属性を1行ずつ改行しながら作成します。属性キーは、 最大長+1 でスペース埋めされて、整形されます。 ・useCR=false の場合 ・属性の個数制限(CR_CNT)単位に、改行が行われます。 これは、属性が右に多く並びすぎるのを防ぎます。 ・属性の長さ制限(CR_LEN)単位で、改行が行われます。 これは、たとえ、属性の個数が少なくても、文字列として長い場合は、 改行させます。
      パラメータ:
      attTab - Nodeの階層を表す文字列。
      戻り値:
      このオブジェクトの文字列表現
      関連項目:
      変更履歴:
      5.6.1.2 (2013/02/22) 改行処理の修正。最後の属性処理の後にも改行を入れる。, 5.6.4.4 (2013/05/31) 改行処理の修正。attTabが、ゼロ文字列の場合の対応。
      このメソッドは、nullを返しません
    • toString

      public String toString()
      オブジェクトの文字列表現を返します。
      オーバーライド:
      toString クラス内 Object
      戻り値:
      このオブジェクトの文字列表現
      関連項目:
      変更履歴:
      5.6.1.2 (2013/02/22) 改行処理の修正。最後の属性処理の後にも改行を入れる。
      このメソッドは、nullを返しません