org.opengion.fukurou.util

## クラス Attributes

- java.lang.Object
- - org.opengion.fukurou.util.Attributes

-     public final class Attributes
      extends Object

       Attributes.java は、String 型キーにString型値を Map するクラスです。

       HTMLのPOST/GET等の受け渡しや、String型の引数が多い場合に効果があります。
       特に、getAttributes( String[] param ) による属性リスト作成は、
       HTMLタグの属性定義を行う上で，非常に便利に利用できます。

       ※ 6.1.1.0 (2015/01/17)
          StringBuilder と同様、set メソッド , add メソッドの戻り値に、自分自身を戻します。
          これにより、連結処理できるようにします。

       この実装は同期化されません。

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

- - ### コンストラクタのサマリー

    コンストラクタ
    コンストラクタと説明
    `Attributes()` デフォルトコンストラクター
    `Attributes(Attributes att)` Attributesオブジェクト を与えて新しく作成するコンストラクター

  - ### メソッドのサマリー

    すべてのメソッド インスタンス・メソッド concreteメソッド 非推奨のメソッド
    修飾子とタイプ | メソッドと説明
    --- | ---
    `Attributes` | `add(String key, String value)` 指定された値と指定されたキーをこのマップに追加します マップ自身のキーは、ユニークである為、既存の値に対して、 新しく値を追加します。
    `Attributes` | `add(String key, String value, String sepa)` 指定された値と指定されたキーをこのマップに追加します class属性や、style属性など、同一キーに対して、複数の値をつなげる場合に 使用します。
    `Attributes` | `addAttributes(Attributes att)` 非推奨です。 6.1.1.0 (2015/01/17) 廃止します。#set( Attributes ) をお使いください。
    `void` | `clear()` マップからマッピングをすべて削除します 。
    `String` | `get(String key)` マップが指定のキーをマップする値を返します。
    `String` | `getAttribute()` マップに含まれているキーと属性のペアを タグの属性リストの形式ですべて返します。
    `String` | `getAttribute(String[] keys)` マップに含まれているキーと属性のペアを タグの属性リストの形式で返します。
    `String` | `remove(String key)` このキーにマッピングがある場合に、そのマッピングをマップから削除します。
    `Attributes` | `set(Attributes att)` Attributes 属性を、既存の属性に上書き追加します。
    `Attributes` | `set(String key, String value)` 指定された値と指定されたキーをこのマップに関連付けます 指定されたキーに、null を関連付けることはできません。
    `Attributes` | `set(String key, String value, String def)` 指定された値と指定されたキーをこのマップに関連付けます set( String key,String value ) との違いは､value が null の場合に、def を代わりにセットすることです。
    `int` | `size()` マップ内のキーと値のマッピングの数を返します。
    `String` | `toString()` このオブジェクトの文字列表現を返します。

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

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- - ### コンストラクタの詳細

    - #### Attributes

          public Attributes()

      デフォルトコンストラクター
      変更履歴:

        6.4.3.1 (2016/02/12) PMD refactoring. HashMap → ConcurrentHashMap に置き換え。

    - #### Attributes

          public Attributes(Attributes att)

      Attributesオブジェクト を与えて新しく作成するコンストラクター
      パラメータ:
        `att` - Attributesオブジェクト
      変更履歴:

        6.4.3.1 (2016/02/12) PMD refactoring. HashMap → ConcurrentHashMap に置き換え。

  - ### メソッドの詳細

    - #### clear

          public void clear()

      マップからマッピングをすべて削除します 。

    - #### get

          public String get(String key)

      マップが指定のキーをマップする値を返します。 マップがこのキーのマッピングを保持していない場合は null を返します。戻り値の null は、マップがキーのマッピングを 保持していないことを示すとはかぎりません。つまり、マップが 明示的にキーを null にマップすることもあります。
      パラメータ:
        `key` - 関連付けられた値が返されるキー(大文字小文字は同値)
      戻り値:
        マップが、指定されたキーにマッピングしている値。 このキーに対するマッピングがマップにない場合は null

    - #### set

          public Attributes set(String key,
                                String value)

      指定された値と指定されたキーをこのマップに関連付けます 指定されたキーに、null を関連付けることはできません。 (もちろん、""：ゼロストリング は登録できます。) なぜなら、getAttribute( String[] keys ) 等で値が null の キーは、取得できない為です。 また、すでに何らかの値がセットされている所に､null をセットした 場合は､前の値をなにも変更しません。 通常、値をクリアしたい場合は､ remove( String key ) を利用してください。
      パラメータ:
        `key` - 指定される値が関連付けられるキー(大文字小文字は同値)
        `value` - 指定されるキーに関連付けられる値
      戻り値:
        自分自身
      変更履歴:

        6.1.1.0 (2015/01/17) 戻り値に、自分自身を返すようにします。

      このメソッドは、nullを返しません

    - #### set

          public Attributes set(String key,
                                String value,
                                String def)

      指定された値と指定されたキーをこのマップに関連付けます set( String key,String value ) との違いは､value が null の場合に、def を代わりにセットすることです。 ただし、value が null で、def も null の場合は､ なにもセットされません。
      パラメータ:
        `key` - 指定される値が関連付けられるキー(大文字小文字は同値)
        `value` - 指定されるキーに関連付けられる値
        `def` - value が null の場合にキーに関連付けられる値
      戻り値:
        自分自身
      変更履歴:

        6.1.1.0 (2015/01/17) 戻り値に、自分自身を返すようにします。

      このメソッドは、nullを返しません

    - #### set

          public Attributes set(Attributes att)

      Attributes 属性を、既存の属性に上書き追加します。 引数 att が null の場合は，何もしません。 内部の Map に直接書き込みますので、すでに同一キーの属性が存在している場合は， 上書きで置き換えます。 つまり、初期値を設定する場合は、最初に呼び出します。引数で設定された最新の値を 使用する場合は、最後に設定します。 ただし、#add(String,String) は、既存のキーに値を追記していきますので、これらより 後に設定しないと、上書きされてしまいますので、ご注意ください。 従来の、#addAttributes( Attributes ) の代替えメソッドです。
      パラメータ:
        `att` - Attributes属性
      戻り値:
        自分自身
      変更履歴:

        6.1.1.0 (2015/01/17) 戻り値に、自分自身を返すようにします。

      このメソッドは、nullを返しません

    - #### add

          public Attributes add(String key,
                                String value)

      指定された値と指定されたキーをこのマップに追加します マップ自身のキーは、ユニークである為、既存の値に対して、 新しく値を追加します。 追加する方法は、値の文字列の結合です。このメソッドでは、 デフォルトのスペースで結合します。 値が null または、すでにそのキーに同一の値が関連付けられている場合は、 何もしません。
      パラメータ:
        `key` - 指定される値が関連付けられるキー(大文字小文字は同値)
        `value` - 指定されるキーの値に、追加される値
      戻り値:
        自分自身
      変更履歴:

        6.1.1.0 (2015/01/17) 戻り値に、自分自身を返すようにします。

      このメソッドは、nullを返しません

    - #### add

          public Attributes add(String key,
                                String value,
                                String sepa)

      指定された値と指定されたキーをこのマップに追加します class属性や、style属性など、同一キーに対して、複数の値をつなげる場合に 使用します。 マップ自身のキーは、ユニークである為、既存の値に対して、 新しく値を追加します。 追加する方法は、値の文字列の結合です。このメソッドでは、 引数 sepa で文字列を結合します。 値が null または、sepa が null または、すでにそのキーに 同一の値が関連付けられている場合は、何もしません。
      パラメータ:
        `key` - 指定される値が関連付けられるキー(大文字小文字は同値)
        `value` - 指定されるキーの値に、追加される値
        `sepa` - 値を連結するときの文字列
      戻り値:
        自分自身
      変更履歴:

        6.1.1.0 (2015/01/17) 戻り値に、自分自身を返すようにします。

      このメソッドは、nullを返しません

    - #### addAttributes

          @Deprecated
          public Attributes addAttributes(Attributes att)

      非推奨です。 6.1.1.0 (2015/01/17) 廃止します。#set( Attributes ) をお使いください。
      【廃止】Attributes 属性を、既存の属性に追加します。 すでに同一キーの属性が存在している場合は，上書きで 置き換えます。 引数 att が null の場合は，何もしません。
      パラメータ:
        `att` - Attributes属性
      戻り値:
        自分自身
      変更履歴:

        6.0.4.0 (2014/11/28) 内部処理見直し。キーのソートを行いません。
        6.1.1.0 (2015/01/17) 戻り値に、自分自身を返すようにします。

      このメソッドは、nullを返しません

    - #### remove

          public String remove(String key)

      このキーにマッピングがある場合に、そのマッピングをマップから削除します。
      パラメータ:
        `key` - マッピングがマップから削除されるキー(大文字小文字は同値)
      戻り値:
        このキーにマッピングがある場合に、そのマッピングをマップから削除します 指定されたキーに関連した以前の値。key にマッピングがなかった場合は null。

    - #### size

          public int size()

      マップ内のキーと値のマッピングの数を返します。
      戻り値:
        インタフェース Map 内の size

    - #### getAttribute

          public String getAttribute(String[] keys)

      マップに含まれているキーと属性のペアを タグの属性リストの形式で返します。 key1="value1" key2="value2" key3="value3" .... の形式で、value が null の 場合は，key そのもののペアを出力しません。 value が空文字列 "" の場合は，key="" で出力します。 引数には，key として出力したい値を配列文字列で渡します。 これは、拡張性に乏しい(すべて出せば，属性項目の追加に対応できる。) 方法ですが、タグ毎に異なる属性のみを管理するには，厳格に出力 タグ属性を定義したいという思いから，導入しました。
      パラメータ:
        `keys` - 指定 key の文字列配列(可変長引数)(大文字小文字は同値)
      戻り値:
        キーと属性のペアをタグの属性リストの形式で返します
      変更履歴:

        6.0.4.0 (2014/11/28) 内部処理見直し。値の取得は、Mapから直接取得する。
        6.4.3.3 (2016/03/04) ConcurrentHashMap の not null制限のチェック追加

      このメソッドは、nullを返しません

    - #### getAttribute

          public String getAttribute()

      マップに含まれているキーと属性のペアを タグの属性リストの形式ですべて返します。 なお、value が null の場合は，key そのもののペアを出力しません。 value が空文字列 "" の場合は，key="" で出力します。
      戻り値:
        キーと属性のペアをタグの属性リストの形式で返します
      変更履歴:

        6.0.4.0 (2014/11/28) 内部処理見直し。値の取得は、Mapから直接取得する。
        6.4.3.4 (2016/03/11) forループを、forEach メソッドに置き換えます。

      このメソッドは、nullを返しません

    - #### toString

          public String toString()

      このオブジェクトの文字列表現を返します。 基本的にデバッグ目的に使用します。
      オーバーライド:
        `toString` クラス内 `Object`
      戻り値:
        オブジェクトの文字列表現
      このメソッドは、nullを返しません

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