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

クラス OGAttributes


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

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

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

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

      • CR_CNT

        public static final int CR_CNT
        属性の個数制限。この個数で改行を行う。 4
        関連項目:
        定数フィールド値
      • CR_LEN

        public static final int CR_LEN
        属性の長さ制限。これ以上の場合は、改行を行う。 80
        関連項目:
        定数フィールド値
    • コンストラクタの詳細

      • 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属性単位の改行)
        関連項目:
        CR_CNT, CR_LEN
      • 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の階層を表す文字列。
        戻り値:
        このオブジェクトの文字列表現
        関連項目:
        OGNode.toString(), setUseCR( boolean )
        変更履歴:
        5.6.1.2 (2013/02/22) 改行処理の修正。最後の属性処理の後にも改行を入れる。, 5.6.4.4 (2013/05/31) 改行処理の修正。attTabが、ゼロ文字列の場合の対応。
        このメソッドは、nullを返しません
      • toString

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