パッケージ 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 メソッドの戻り値に、自分自身を戻します。 これにより、連結処理できるようにします。 この実装は同期化されません。

導入されたバージョン:
  JDK5.0,

- ## コンストラクタの概要

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

- ## メソッドの概要

  修飾子とタイプ
  メソッド
  説明
  `Attributes`
  `add(String key, String value)`
  指定された値と指定されたキーをこのマップに追加します マップ自身のキーは、ユニークである為、既存の値に対して、 新しく値を追加します。
  `Attributes`
  `add(String key, String value, String sepa)`
  指定された値と指定されたキーをこのマップに追加します class属性や、style属性など、同一キーに対して、複数の値をつなげる場合に 使用します。
  `void`
  `clear()`
  マップからマッピングをすべて削除します 。
  `String`
  `get(String key)`
  マップが指定のキーをマップする値を返します。
  `String`
  `getAttribute()`
  マップに含まれているキーと属性のペアを タグの属性リストの形式ですべて返します。
  `String`
  `getAttribute(String... keys)`
  マップに含まれているキーと属性のペアを タグの属性リストの形式で返します。
  `String`
  `getCssFormat()`
  マップに含まれているキーと属性のペアを タグの属性リストの形式ですべて返します。
  `ConcurrentMap<String,String>`
  `getParamMap(String params)`
  指定の文字列を分解して、Mapを作成します。
  `String`
  `remove(String key)`
  このキーにマッピングがある場合に、そのマッピングをマップから削除します。
  `Attributes`
  `set(String key, String value)`
  指定された値と指定されたキーをこのマップに関連付けます 指定されたキーに、null を関連付けることはできません。
  `Attributes`
  `set(String key, String value, String def)`
  指定された値と指定されたキーをこのマップに関連付けます set( String key,String value ) との違いは､value が null の場合に、def を代わりにセットすることです。
  `Attributes`
  `set(Attributes att)`
  Attributes 属性を、既存の属性に上書き追加します。
  `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を返しません

  - ### 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を返しません

  - ### getCssFormat

    public String getCssFormat()
    マップに含まれているキーと属性のペアを タグの属性リストの形式ですべて返します。 なお、value が nullや、空文字列("") の場合は，key そのもののペアを出力しません。 この文字列は、key:value; 形式で、文字列を作成します。value に、ダブルコーテーション は付けません。
    戻り値:
      キーと属性のペアをCSS形式で返します
    変更履歴:
      7.0.1.0 (2018/10/15) 新規作成
    このﾒｿｯﾄﾞは、nullを返しません

  - ### getParamMap

    public ConcurrentMap<String,String> getParamMap(String params)
    指定の文字列を分解して、Mapを作成します。 『;』 で分解して、ここのｷｰと値を、『=』で分解します。 引数の値は、そのまま適用されますので、クオーテーション等は、付けないと想定しています。
    パラメータ:
      `params` - キー=値; キー=値 形式の文字列
    戻り値:
      キーと属性に分解したMap
    変更履歴:
      7.4.2.1 (2021/05/08)
    このﾒｿｯﾄﾞは、nullを返しません

  - ### toString

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