パッケージ 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属性など、同一キーに対して、複数の値をつなげる場合に 使用します。
      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()
      このオブジェクトの文字列表現を返します。
    • コンストラクタの詳細

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