keycloak
公開メンバ関数 | 限定公開メンバ関数 | 全メンバ一覧
org.keycloak.common.util.ConcurrentMultivaluedHashMap< K, V > クラステンプレート
org.keycloak.common.util.ConcurrentMultivaluedHashMap< K, V > の継承関係図
Inheritance graph
org.keycloak.common.util.ConcurrentMultivaluedHashMap< K, V > 連携図
Collaboration graph

公開メンバ関数

void putSingle (K key, V value)
 
void addAll (K key, V... newValues)
 
void addAll (K key, List< V > valueList)
 
void addFirst (K key, V value)
 
final void add (K key, V value)
 
final void addMultiple (K key, Collection< V > values)
 
getFirst (K key)
 
final List< V > getList (K key)
 
void addAll (ConcurrentMultivaluedHashMap< K, V > other)
 

限定公開メンバ関数

List< V > createListInstance ()
 

詳解

著者
Bill Burke
バージョン
Revision
1

関数詳解

◆ add()

final void org.keycloak.common.util.ConcurrentMultivaluedHashMap< K, V >.add ( key,
value 
)
inline
68  {
69  getList(key).add(value);
70  }
final List< V > getList(K key)
Definition: ConcurrentMultivaluedHashMap.java:84

◆ addAll() [1/3]

void org.keycloak.common.util.ConcurrentMultivaluedHashMap< K, V >.addAll ( key,
V...  newValues 
)
inline
40  {
41  for (V value : newValues)
42  {
43  add(key, value);
44  }
45  }
final void add(K key, V value)
Definition: ConcurrentMultivaluedHashMap.java:67

◆ addAll() [2/3]

void org.keycloak.common.util.ConcurrentMultivaluedHashMap< K, V >.addAll ( key,
List< V >  valueList 
)
inline
48  {
49  for (V value : valueList)
50  {
51  add(key, value);
52  }
53  }
final void add(K key, V value)
Definition: ConcurrentMultivaluedHashMap.java:67

◆ addAll() [3/3]

100  {
101  for (Entry<K, List<V>> entry : other.entrySet())
102  {
103  getList(entry.getKey()).addAll(entry.getValue());
104  }
105  }
final List< V > getList(K key)
Definition: ConcurrentMultivaluedHashMap.java:84
void addAll(K key, V... newValues)
Definition: ConcurrentMultivaluedHashMap.java:39

◆ addFirst()

void org.keycloak.common.util.ConcurrentMultivaluedHashMap< K, V >.addFirst ( key,
value 
)
inline
56  {
57  List<V> list = get(key);
58  if (list == null)
59  {
60  add(key, value);
61  }
62  else
63  {
64  list.add(0, value);
65  }
66  }
final void add(K key, V value)
Definition: ConcurrentMultivaluedHashMap.java:67

◆ addMultiple()

final void org.keycloak.common.util.ConcurrentMultivaluedHashMap< K, V >.addMultiple ( key,
Collection< V >  values 
)
inline
74  {
75  getList(key).addAll(values);
76  }
final List< V > getList(K key)
Definition: ConcurrentMultivaluedHashMap.java:84

◆ createListInstance()

List<V> org.keycloak.common.util.ConcurrentMultivaluedHashMap< K, V >.createListInstance ( )
inlineprotected
107  {
108  return new CopyOnWriteArrayList<>();
109  }

◆ getFirst()

V org.keycloak.common.util.ConcurrentMultivaluedHashMap< K, V >.getFirst ( key)
inline
79  {
80  List<V> list = get(key);
81  return list == null ? null : list.get(0);
82  }

◆ getList()

final List<V> org.keycloak.common.util.ConcurrentMultivaluedHashMap< K, V >.getList ( key)
inline
85  {
86  List<V> list = get(key);
87 
88  if (list == null) {
89  list = createListInstance();
90  List<V> existing = putIfAbsent(key, list);
91  if (existing != null) {
92  list = existing;
93  }
94  }
95 
96  return list;
97  }
List< V > createListInstance()
Definition: ConcurrentMultivaluedHashMap.java:107

◆ putSingle()

void org.keycloak.common.util.ConcurrentMultivaluedHashMap< K, V >.putSingle ( key,
value 
)
inline
33  {
34  List<V> list = createListInstance();
35  list.add(value);
36  put(key, list); // Just override with new List instance
37  }
List< V > createListInstance()
Definition: ConcurrentMultivaluedHashMap.java:107

このクラス詳解は次のファイルから抽出されました: