woolpack.utils
クラス UtilsConstants

java.lang.Object
  上位を拡張 woolpack.utils.UtilsConstants

public class UtilsConstants
extends java.lang.Object

静的メソッドの集まり。

作成者:
nakamura

メソッドの概要
static
<K,V> java.util.concurrent.ConcurrentMap<K,V>
concurrentMap(java.util.Map<K,V> map, java.lang.Object lock)
          ConcurrentMapで追加されたメソッドにのみ lock で同期化するConcurrentMapを返す。
static
<K,V> java.util.Map<K,V>
injectiveMap(java.util.Map<K,V> map)
          単射であることを維持するMapを返す。
static
<V> java.util.Map<java.lang.String,V>
keyNotEmptyMap(java.util.Map<java.lang.String,V> map)
          キーの文字数がゼロであることを禁止するMapを返す。
static
<K,V> java.util.Map<K,V>
notNullMap(java.util.Map<K,V> map)
          キー・値がnull値をとることを禁止するMapを返す。
static
<K,V> Switchable<K,V>
nullToDefaultSwitchIfAbsent(V defaultValue, Switchable<K,V> switchable)
          委譲先のSwitchable#get(K)の返却値が null の場合、デフォルト値を設定したSwitchableを返す。
static
<V> java.util.Map<java.lang.String,V>
similarKeyMap(java.util.Map<java.lang.String,V> map)
          類似の名前を同一とみなすMapを返す。
static java.util.Collection toCollection(java.lang.Object value)
          オブジェクトをCollectionに変換する。
static java.lang.Iterable toIterable(java.lang.Object value)
          オブジェクトをIterableに変換する。
static java.util.List toList(java.lang.Object value)
          オブジェクトをListに変換する。
static java.util.List<java.lang.String> toMessageList(java.lang.Throwable throwable)
          Throwable.getCause()をたどってエラーメッセージの一覧に変換する。
static
<T> java.lang.Iterable<T>
unmodifiableIterable(java.lang.Iterable<T> iterable)
          変更禁止のIterableを返す。
static
<K,V> java.util.Map<K,V>
unoverwritableMap(java.util.Map<K,V> map)
          オーバライド禁止のMapを返す。
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

メソッドの詳細

nullToDefaultSwitchIfAbsent

public static <K,V> Switchable<K,V> nullToDefaultSwitchIfAbsent(V defaultValue,
                                                                Switchable<K,V> switchable)
委譲先のSwitchable#get(K)の返却値が null の場合、デフォルト値を設定したSwitchableを返す。 既に switchable にデフォルト値が定められている場合は引数の switchable を返す。

型パラメータ:
K - キー。
V - 値。
パラメータ:
defaultValue - 委譲先の返却値が null の場合のデフォルト値。
switchable - 委譲先。
戻り値:
委譲先のSwitchable#get(K)の返却値が null の場合、デフォルト値を設定しSwitchable
例外:
java.lang.NullPointerException - switchable が null の場合。

injectiveMap

public static <K,V> java.util.Map<K,V> injectiveMap(java.util.Map<K,V> map)
単射であることを維持するMapを返す。 単射とは「map#keySet()に含まれるすべての k0 と k1 について k0 != k1 ならば map#get(k0) != map#get(k1)」であることを意味する。 または対偶をとって「map#keySet()に含まれるすべての k0 と k1 について map#get(k0) == map#get(k1) k0 == k1」であることを意味する。 登録済の値を異なるキーで設定した場合はIllegalStateExceptionを投げる。

型パラメータ:
K - キー。
V - 値。
パラメータ:
map - 単射であることを維持する対象のMap
戻り値:
単射であることを維持されたMap
例外:
java.lang.NullPointerException - 引数が null の場合。

unoverwritableMap

public static <K,V> java.util.Map<K,V> unoverwritableMap(java.util.Map<K,V> map)
オーバライド禁止のMapを返す。 登録済のキーを設定した場合はIllegalStateExceptionを投げる。

型パラメータ:
K - キー。
V - 値。
パラメータ:
map - オーバライドを禁止する対象のMap
戻り値:
オーバライドが禁止されたMap
例外:
java.lang.NullPointerException - 引数が null の場合。

notNullMap

public static <K,V> java.util.Map<K,V> notNullMap(java.util.Map<K,V> map)
キー・値がnull値をとることを禁止するMapを返す。 登録済の値を設定した場合はNullPointerExceptionを投げる。

型パラメータ:
K - キー。
V - 値。
パラメータ:
map - キー・値がnull値をとることを禁止する対象のMap
戻り値:
キー・値がnull値をとることを禁止されたMap
例外:
java.lang.NullPointerException - 引数が null の場合。

keyNotEmptyMap

public static <V> java.util.Map<java.lang.String,V> keyNotEmptyMap(java.util.Map<java.lang.String,V> map)
キーの文字数がゼロであることを禁止するMapを返す。 文字数がゼロのキーを設定した場合はStringIndexOutOfBoundsExceptionを投げる。

型パラメータ:
V - 値。
パラメータ:
map - キーの文字数がゼロであることを禁止する対象のMap
戻り値:
キーの文字数がゼロであることを禁止されたMap
例外:
java.lang.NullPointerException - 引数が null の場合。

similarKeyMap

public static <V> java.util.Map<java.lang.String,V> similarKeyMap(java.util.Map<java.lang.String,V> map)
類似の名前を同一とみなすMapを返す。 類似の名前とは、大文字区切り(先頭文字の大文字と小文字の区別なし)とアンダーバー区切り(大文字と小文字の区別なし)の相互変換の範囲とする。

型パラメータ:
V - 値。
パラメータ:
map - 類似の名前を同一とみなす対象のMap
戻り値:
類似の名前を同一とみなすMap
例外:
java.lang.NullPointerException - 引数が null の場合。

concurrentMap

public static <K,V> java.util.concurrent.ConcurrentMap<K,V> concurrentMap(java.util.Map<K,V> map,
                                                                          java.lang.Object lock)
ConcurrentMapで追加されたメソッドにのみ lock で同期化するConcurrentMapを返す。 DCLP(Double checked locking)のためインスタンスが複数生成されることを抑止することはできないが、 必ずひとつのインスタンスのみが複数のスレッドから参照されることを保証することができる。 Mapで定義されているメソッドは同期化しないのでConcurrentMapで期待されている動作をしない可能性がある。

型パラメータ:
K - キー。
V - 値。
パラメータ:
map - 対象のMap
lock - ロックオブジェクト。
戻り値:
ロックオブジェクトで原子化したConcurrentMap
例外:
java.lang.NullPointerException - 引数のいずれかが null の場合。

unmodifiableIterable

public static <T> java.lang.Iterable<T> unmodifiableIterable(java.lang.Iterable<T> iterable)
変更禁止のIterableを返す。

型パラメータ:
T - 汎用型。
パラメータ:
iterable - 変更禁止対象のIterable
戻り値:
変更禁止されたIterable

toIterable

public static java.lang.Iterable toIterable(java.lang.Object value)
オブジェクトをIterableに変換する。 変換元が配列ならIterableに変換する。 変換元がIterableならそのまま返す。 上記以外ならその値ひとつのIterableを返す。

パラメータ:
value - 変換元。
戻り値:
変換されたIterable

toCollection

public static java.util.Collection toCollection(java.lang.Object value)
オブジェクトをCollectionに変換する。 変換元が配列ならCollectionに変換する。 変換元がCollectionならそのまま返す。 上記以外ならその値ひとつのCollectionを返す。

パラメータ:
value - 変換元。
戻り値:
変換されたCollection

toList

public static java.util.List toList(java.lang.Object value)
オブジェクトをListに変換する。 変換元が配列ならListに変換する。 変換元がListならそのまま返す。 上記以外ならその値ひとつのListを返す。

パラメータ:
value - 変換元。
戻り値:
変換されたList

toMessageList

public static java.util.List<java.lang.String> toMessageList(java.lang.Throwable throwable)
Throwable.getCause()をたどってエラーメッセージの一覧に変換する。 中間のThrowableの場合、 メッセージが null でないかつメッセージが原因のThrowable.toString()と同一でない場合にメッセージとして追加する。 終端のThrowableの場合、 メッセージが null の場合はThrowable.toString()をメッセージとして追加し、 メッセージが null でない場合はそれをメッセージとして追加する。

パラメータ:
throwable - 基点。
戻り値:
メッセージの一覧。
例外:
java.lang.NullPointerException - 引数が null の場合。