概要 | パッケージ | クラス | 階層ツリー | 非推奨 API | 索引 | ヘルプ
openGion 5.5.3.1
前のクラス 次のクラス | フレームあり フレームなし
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド

## org.opengion.fukurou.xml
クラス OGAttributes

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

    public class OGAttributes

extends java.lang.Object

属性リストをあらわす、OGAttributes クラスを定義します。 属性リストは、キーと値のペアを、並び順で管理しているリストを保持しています。 内部的には、 org.xml.sax.Attributes からの値の設定と、タブの属性の整列を行うための 属性タブ、属性の改行の制御、属性の長さの制御 などを行います。

変更履歴:

  5.1.8.0 (2010/07/01) 新規作成

バージョン
  5.0
作成者
  Kazuhiko Hasegawa
導入されたバージョン:
  JDK6.0,

フィールドの概要
`static java.lang.String` | `CR` システム改行コード
`static int` | `CR_CNT` 属性の個数制限。
`static int` | `CR_LEN` 属性の長さ制限。

コンストラクタの概要
`OGAttributes()` デフォルトトコンストラクター 取りあえず、属性オブジェクトを構築する場合に使用します。
`OGAttributes(java.lang.String attTab, org.xml.sax.Attributes attri, boolean useCR)` 属性タブ、属性リスト、属性改行の有無を指定してのトコンストラクター 属性タブ、属性リストに null を指定すると、デフォルトトコンストラクターの設定と 同じ状態になります。

メソッドの概要
`void` | `add(int adrs, java.lang.String key, java.lang.String val)` 指定のアドレスの属性リストに、属性(キー、値のセット）を設定します。
`void` | `add(java.lang.String key, java.lang.String val)` 属性リストに、属性(キー、値のセット）を設定します。
`int` | `getAdrs(java.lang.String key)` 属性リストから、指定の属性キーの、アドレスを取得します。
`java.lang.String` | `getId()` 属性リストから、id属性の、属性値を取得します。
`java.lang.String` | `getKey(int adrs)` 属性リストから、指定の配列番号の、属性キーを取得します。
`java.lang.String` | `getVal(int adrs)` 属性リストから、指定の配列番号の、属性値を取得します。
`java.lang.String` | `getVal(java.lang.String key)` 属性リストから、指定の属性キーの、属性値を取得します。
`void` | `remove(int adrs)` 指定のアドレスの属性リストから、属性情報を削除します。
`void` | `setUseCR(boolean useCR)` 属性改行の有無を設定します。
`void` | `setVal(int adrs, java.lang.String val)` 属性リストの、指定の配列番号に、属性値を設定します。
`int` | `size()` 属性リストの個数を取得します。
`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

  システム改行コード

### 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(java.lang.String attTab,
                        org.xml.sax.Attributes attri,
                        boolean useCR)

  属性タブ、属性リスト、属性改行の有無を指定してのトコンストラクター 属性タブ、属性リストに null を指定すると、デフォルトトコンストラクターの設定と 同じ状態になります。 注意 属性値の正規化は必ず行われます。 属性値に含まれるCR(復帰), LF(改行), TAB(タブ)は、 半角スペースに置き換えられます。 XMLの規定では、属性の並び順は保障されませんが、SAXのAttributesは、XMLに記述された順番で 取得できていますので、このクラスでの属性リストも、記述順での並び順になります。

  パラメータ:
    `attTab` - String 属性タブ
    `attri` - Attributes 属性リスト
    `useCR` - boolean 属性改行
  変更履歴:

    5.1.9.0 (2010/08/01) id 属性のみ特別にキャッシュしておく。

メソッドの詳細

### setUseCR

    public void setUseCR(boolean useCR)

  属性改行の有無を設定します。 タグによって、属性が多くなったり、意味が重要な場合は、属性１つづつに改行を 行いたいケースがあります。 属性改行をtrue に設定すると、属性一つづつで、改行を行います。 現時点では、og:comment、og:view のみ、改行を行います。 false の場合は、自動的な改行処理が行われます。 これは、属性の個数制限(CR_CNT)単位に、改行を行う処理と、 属性の長さ制限(CR_LEN)単位で、改行を行います。

  パラメータ:
    `useCR` - boolean 属性改行の有無(true:１属性単位の改行)
  関連項目:
    `CR_CNT`, `CR_LEN`

### size

    public int size()

  属性リストの個数を取得します。

  戻り値:
    int 属性リストの個数

### getKey

    public java.lang.String getKey(int adrs)

  属性リストから、指定の配列番号の、属性キーを取得します。

  パラメータ:
    `adrs` - int 配列番号
  戻り値:
    String 属性キー

### getVal

    public java.lang.String getVal(int adrs)

  属性リストから、指定の配列番号の、属性値を取得します。

  パラメータ:
    `adrs` - int 配列番号
  戻り値:
    String 属性値

### getVal

    public java.lang.String getVal(java.lang.String key)

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

  パラメータ:
    `key` - String 属性キー
  戻り値:
    String 属性値
  変更履歴:

    5.1.9.0 (2010/08/01) 新規追加

### getAdrs

    public int getAdrs(java.lang.String key)

  属性リストから、指定の属性キーの、アドレスを取得します。 どちらかというと、キーの存在チェックに近い処理を行います。 この処理は、属性リストをすべてスキャンして、キーにマッチする 属性オブジェクトを見つけ、そこから、属性値を取り出すので、 パフォーマンスに問題があります。

  パラメータ:
    `key` - String 属性キー
  戻り値:
    int アドレス キーが存在しない場合は、-1 を返す。
  変更履歴:

    5.1.9.0 (2010/08/01) 新規追加

### getId

    public java.lang.String getId()

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

  戻り値:
    String id属性値
  変更履歴:

    5.1.9.0 (2010/08/01) 新規追加

### setVal

    public void setVal(int adrs,
                       java.lang.String val)

  属性リストの、指定の配列番号に、属性値を設定します。

  パラメータ:
    `adrs` - int 配列番号
    `val` - String 属性値
  変更履歴:

    5.1.9.0 (2010/08/01) id 属性のみ特別にキャッシュしておく。

### add

    public void add(java.lang.String key,
                    java.lang.String val)

  属性リストに、属性(キー、値のセット）を設定します。 属性リストの一番最後に、属性(キー、値のセット）を設定します。

  パラメータ:
    `key` - String 属性リストのキー
    `val` - String 属性リストの値
  変更履歴:

    5.1.9.0 (2010/08/01) id 属性のみ特別にキャッシュしておく。

### add

    public void add(int adrs,
                    java.lang.String key,
                    java.lang.String val)

  指定のアドレスの属性リストに、属性(キー、値のセット）を設定します。 指定のアドレスの属性を置き換えるのではなく追加します。

  パラメータ:
    `adrs` - int 属性リストのアドレス
    `key` - String 属性リストのキー
    `val` - String 属性リストの値
  変更履歴:

    5.1.9.0 (2010/08/01) id 属性のみ特別にキャッシュしておく。

### remove

    public void remove(int adrs)

  指定のアドレスの属性リストから、属性情報を削除します。 指定のアドレスの属性を置き換えるのではなく追加します。

  パラメータ:
    `adrs` - int 属性リストのアドレス
  変更履歴:

    5.1.9.0 (2010/08/01) id 属性のみ特別にキャッシュしておく。

### toString

    public java.lang.String toString()

  オブジェクトの文字列表現を返します。 属性については、並び順は、登録順が保障されます。 属性は、３つのパターンで文字列化を行います。 ・useCR=true の場合 この場合は、属性を１行ずつ改行しながら作成します。属性キーは、 最大長＋１ でスペース埋めされて、整形されます。 ・useCR=false の場合 ・属性の個数制限(CR_CNT)単位に、改行が行われます。 これは、属性が右に多く並びすぎるのを防ぎます。 ・属性の長さ制限(CR_LEN)単位で、改行が行われます。 これは、たとえ、属性の個数が少なくても、文字列として長い場合は、 改行させます。

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

概要 | パッケージ | クラス | 階層ツリー | 非推奨 API | 索引 | ヘルプ
| openGion 5.5.3.1
前のクラス 次のクラス | フレームあり フレームなし
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド

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