keycloak
公開メンバ関数 | 限定公開メンバ関数 | 限定公開変数類 | 全メンバ一覧
org.keycloak.models.cache.infinispan.GroupAdapter クラス
org.keycloak.models.cache.infinispan.GroupAdapter の継承関係図
Inheritance graph
org.keycloak.models.cache.infinispan.GroupAdapter 連携図
Collaboration graph

公開メンバ関数

 GroupAdapter (CachedGroup cached, RealmCacheSession cacheSession, KeycloakSession keycloakSession, RealmModel realm)
 
void invalidate ()
 
boolean equals (Object o)
 
int hashCode ()
 
String getId ()
 
String getName ()
 
void setName (String name)
 
void setSingleAttribute (String name, String value)
 
void setAttribute (String name, List< String > values)
 
void removeAttribute (String name)
 
String getFirstAttribute (String name)
 
List< String > getAttribute (String name)
 
Map< String, List< String > > getAttributes ()
 
Set< RoleModelgetRealmRoleMappings ()
 
Set< RoleModelgetClientRoleMappings (ClientModel app)
 
boolean hasRole (RoleModel role)
 
void grantRole (RoleModel role)
 
Set< RoleModelgetRoleMappings ()
 
void deleteRoleMapping (RoleModel role)
 
GroupModel getParent ()
 
String getParentId ()
 
Set< GroupModelgetSubGroups ()
 
void setParent (GroupModel group)
 
void addChild (GroupModel subGroup)
 
void removeChild (GroupModel subGroup)
 

限定公開メンバ関数

void getDelegateForUpdate ()
 
boolean isUpdated ()
 

限定公開変数類

volatile GroupModel updated
 
CachedGroup cached
 
RealmCacheSession cacheSession
 
KeycloakSession keycloakSession
 
RealmModel realm
 
volatile boolean invalidated
 

詳解

著者
Bill Burke
バージョン
Revision
1

構築子と解体子

◆ GroupAdapter()

org.keycloak.models.cache.infinispan.GroupAdapter.GroupAdapter ( CachedGroup  cached,
RealmCacheSession  cacheSession,
KeycloakSession  keycloakSession,
RealmModel  realm 
)
inline
44  {
45  this.cached = cached;
48  this.realm = realm;
49  }
RealmModel realm
Definition: GroupAdapter.java:42
CachedGroup cached
Definition: GroupAdapter.java:39
RealmCacheSession cacheSession
Definition: GroupAdapter.java:40
KeycloakSession keycloakSession
Definition: GroupAdapter.java:41

関数詳解

◆ addChild()

void org.keycloak.models.cache.infinispan.GroupAdapter.addChild ( GroupModel  subGroup)
inline

org.keycloak.models.GroupModelを実装しています。

259  {
261  updated.addChild(subGroup);
262 
263  }
void addChild(GroupModel subGroup)
void getDelegateForUpdate()
Definition: GroupAdapter.java:51
volatile GroupModel updated
Definition: GroupAdapter.java:38

◆ deleteRoleMapping()

void org.keycloak.models.cache.infinispan.GroupAdapter.deleteRoleMapping ( RoleModel  role)
inline

org.keycloak.models.RoleMapperModelを実装しています。

214  {
217  }
void getDelegateForUpdate()
Definition: GroupAdapter.java:51
volatile GroupModel updated
Definition: GroupAdapter.java:38
void deleteRoleMapping(RoleModel role)

◆ equals()

boolean org.keycloak.models.cache.infinispan.GroupAdapter.equals ( Object  o)
inline
74  {
75  if (this == o) return true;
76  if (o == null || !(o instanceof GroupModel)) return false;
77 
78  GroupModel that = (GroupModel) o;
79 
80  if (!cached.getId().equals(that.getId())) return false;
81 
82  return true;
83  }
CachedGroup cached
Definition: GroupAdapter.java:39
String getId()
Definition: AbstractRevisioned.java:23

◆ getAttribute()

List<String> org.keycloak.models.cache.infinispan.GroupAdapter.getAttribute ( String  name)
inline

org.keycloak.models.GroupModelを実装しています。

135  {
136  List<String> values = cached.getAttributes().get(name);
137  if (values == null) return null;
138  return values;
139  }
MultivaluedHashMap< String, String > getAttributes()
Definition: CachedGroup.java:62
CachedGroup cached
Definition: GroupAdapter.java:39

◆ getAttributes()

Map<String, List<String> > org.keycloak.models.cache.infinispan.GroupAdapter.getAttributes ( )
inline

org.keycloak.models.GroupModelを実装しています。

142  {
143  return cached.getAttributes();
144  }
MultivaluedHashMap< String, String > getAttributes()
Definition: CachedGroup.java:62
CachedGroup cached
Definition: GroupAdapter.java:39

◆ getClientRoleMappings()

Set<RoleModel> org.keycloak.models.cache.infinispan.GroupAdapter.getClientRoleMappings ( ClientModel  app)
inline

org.keycloak.models.RoleMapperModelを実装しています。

163  {
164  if (isUpdated()) return updated.getClientRoleMappings(app);
165  Set<RoleModel> roleMappings = getRoleMappings();
166  Set<RoleModel> appMappings = new HashSet<RoleModel>();
167  for (RoleModel role : roleMappings) {
168  RoleContainerModel container = role.getContainer();
169  if (container instanceof ClientModel) {
170  if (((ClientModel) container).getId().equals(app.getId())) {
171  appMappings.add(role);
172  }
173  }
174  }
175  return appMappings;
176  }
boolean isUpdated()
Definition: GroupAdapter.java:64
Set< RoleModel > getRoleMappings()
Definition: GroupAdapter.java:197
volatile GroupModel updated
Definition: GroupAdapter.java:38
Set< RoleModel > getClientRoleMappings(ClientModel app)
boolean equals(Object o)
Definition: GroupAdapter.java:74
String getId()
Definition: GroupAdapter.java:91

◆ getDelegateForUpdate()

void org.keycloak.models.cache.infinispan.GroupAdapter.getDelegateForUpdate ( )
inlineprotected
51  {
52  if (updated == null) {
55  if (updated == null) throw new IllegalStateException("Not found in database");
56  }
57  }
void registerGroupInvalidation(String id)
Definition: RealmCacheSession.java:254
volatile GroupModel updated
Definition: GroupAdapter.java:38
GroupModel getGroupById(String id, RealmModel realm)
RealmModel realm
Definition: GroupAdapter.java:42
CachedGroup cached
Definition: GroupAdapter.java:39
RealmCacheSession cacheSession
Definition: GroupAdapter.java:40
RealmProvider getRealmDelegate()
Definition: RealmCacheSession.java:145
String getId()
Definition: AbstractRevisioned.java:23

◆ getFirstAttribute()

String org.keycloak.models.cache.infinispan.GroupAdapter.getFirstAttribute ( String  name)
inline

org.keycloak.models.GroupModelを実装しています。

129  {
130  if (isUpdated()) return updated.getFirstAttribute(name);
131  return cached.getAttributes().getFirst(name);
132  }
boolean isUpdated()
Definition: GroupAdapter.java:64
V getFirst(K key)
Definition: MultivaluedHashMap.java:86
volatile GroupModel updated
Definition: GroupAdapter.java:38
MultivaluedHashMap< String, String > getAttributes()
Definition: CachedGroup.java:62
String getFirstAttribute(String name)
CachedGroup cached
Definition: GroupAdapter.java:39

◆ getId()

String org.keycloak.models.cache.infinispan.GroupAdapter.getId ( )
inline

org.keycloak.models.GroupModelを実装しています。

91  {
92  if (isUpdated()) return updated.getId();
93  return cached.getId();
94  }
boolean isUpdated()
Definition: GroupAdapter.java:64
volatile GroupModel updated
Definition: GroupAdapter.java:38
CachedGroup cached
Definition: GroupAdapter.java:39
String getId()
Definition: AbstractRevisioned.java:23

◆ getName()

String org.keycloak.models.cache.infinispan.GroupAdapter.getName ( )
inline

org.keycloak.models.GroupModelを実装しています。

97  {
98  if (isUpdated()) return updated.getName();
99  return cached.getName();
100  }
boolean isUpdated()
Definition: GroupAdapter.java:64
volatile GroupModel updated
Definition: GroupAdapter.java:38
String getName()
Definition: CachedGroup.java:70
CachedGroup cached
Definition: GroupAdapter.java:39

◆ getParent()

GroupModel org.keycloak.models.cache.infinispan.GroupAdapter.getParent ( )
inline

org.keycloak.models.GroupModelを実装しています。

220  {
221  if (isUpdated()) return updated.getParent();
222  if (cached.getParentId() == null) return null;
224  }
boolean isUpdated()
Definition: GroupAdapter.java:64
volatile GroupModel updated
Definition: GroupAdapter.java:38
GroupModel getGroupById(String id, RealmModel realm)
RealmModel realm
Definition: GroupAdapter.java:42
CachedGroup cached
Definition: GroupAdapter.java:39
String getParentId()
Definition: CachedGroup.java:74
KeycloakSession keycloakSession
Definition: GroupAdapter.java:41

◆ getParentId()

String org.keycloak.models.cache.infinispan.GroupAdapter.getParentId ( )
inline

org.keycloak.models.GroupModelを実装しています。

227  {
228  if (isUpdated()) return updated.getParentId();
229  return cached.getParentId();
230  }
boolean isUpdated()
Definition: GroupAdapter.java:64
volatile GroupModel updated
Definition: GroupAdapter.java:38
CachedGroup cached
Definition: GroupAdapter.java:39
String getParentId()
Definition: CachedGroup.java:74

◆ getRealmRoleMappings()

Set<RoleModel> org.keycloak.models.cache.infinispan.GroupAdapter.getRealmRoleMappings ( )
inline

org.keycloak.models.RoleMapperModelを実装しています。

147  {
148  if (isUpdated()) return updated.getRealmRoleMappings();
149  Set<RoleModel> roleMappings = getRoleMappings();
150  Set<RoleModel> realmMappings = new HashSet<RoleModel>();
151  for (RoleModel role : roleMappings) {
152  RoleContainerModel container = role.getContainer();
153  if (container instanceof RealmModel) {
154  if (((RealmModel) container).getId().equals(realm.getId())) {
155  realmMappings.add(role);
156  }
157  }
158  }
159  return realmMappings;
160  }
boolean isUpdated()
Definition: GroupAdapter.java:64
Set< RoleModel > getRoleMappings()
Definition: GroupAdapter.java:197
volatile GroupModel updated
Definition: GroupAdapter.java:38
Set< RoleModel > getRealmRoleMappings()
RealmModel realm
Definition: GroupAdapter.java:42
boolean equals(Object o)
Definition: GroupAdapter.java:74
String getId()
Definition: GroupAdapter.java:91

◆ getRoleMappings()

Set<RoleModel> org.keycloak.models.cache.infinispan.GroupAdapter.getRoleMappings ( )
inline

org.keycloak.models.RoleMapperModelを実装しています。

197  {
198  if (isUpdated()) return updated.getRoleMappings();
199  Set<RoleModel> roles = new HashSet<RoleModel>();
200  for (String id : cached.getRoleMappings()) {
201  RoleModel roleById = keycloakSession.realms().getRoleById(id, realm);
202  if (roleById == null) {
203  // chance that role was removed, so just delegate to persistence and get user invalidated
205  return updated.getRoleMappings();
206  }
207  roles.add(roleById);
208 
209  }
210  return roles;
211  }
Set< RoleModel > getRoleMappings()
void getDelegateForUpdate()
Definition: GroupAdapter.java:51
boolean isUpdated()
Definition: GroupAdapter.java:64
RoleModel getRoleById(String id, RealmModel realm)
volatile GroupModel updated
Definition: GroupAdapter.java:38
Set< String > getRoleMappings()
Definition: CachedGroup.java:66
RealmModel realm
Definition: GroupAdapter.java:42
CachedGroup cached
Definition: GroupAdapter.java:39
KeycloakSession keycloakSession
Definition: GroupAdapter.java:41

◆ getSubGroups()

Set<GroupModel> org.keycloak.models.cache.infinispan.GroupAdapter.getSubGroups ( )
inline

org.keycloak.models.GroupModelを実装しています。

233  {
234  if (isUpdated()) return updated.getSubGroups();
235  Set<GroupModel> subGroups = new HashSet<>();
236  for (String id : cached.getSubGroups()) {
237  GroupModel subGroup = keycloakSession.realms().getGroupById(id, realm);
238  if (subGroup == null) {
239  // chance that role was removed, so just delegate to persistence and get user invalidated
241  return updated.getSubGroups();
242 
243  }
244  subGroups.add(subGroup);
245  }
246  return subGroups;
247  }
void getDelegateForUpdate()
Definition: GroupAdapter.java:51
boolean isUpdated()
Definition: GroupAdapter.java:64
volatile GroupModel updated
Definition: GroupAdapter.java:38
Set< GroupModel > getSubGroups()
GroupModel getGroupById(String id, RealmModel realm)
RealmModel realm
Definition: GroupAdapter.java:42
Set< String > getSubGroups()
Definition: CachedGroup.java:78
CachedGroup cached
Definition: GroupAdapter.java:39
KeycloakSession keycloakSession
Definition: GroupAdapter.java:41

◆ grantRole()

void org.keycloak.models.cache.infinispan.GroupAdapter.grantRole ( RoleModel  role)
inline

org.keycloak.models.RoleMapperModelを実装しています。

191  {
193  updated.grantRole(role);
194  }
void getDelegateForUpdate()
Definition: GroupAdapter.java:51
void grantRole(RoleModel role)
volatile GroupModel updated
Definition: GroupAdapter.java:38

◆ hashCode()

int org.keycloak.models.cache.infinispan.GroupAdapter.hashCode ( )
inline
86  {
87  return cached.getId().hashCode();
88  }
CachedGroup cached
Definition: GroupAdapter.java:39
String getId()
Definition: AbstractRevisioned.java:23

◆ hasRole()

boolean org.keycloak.models.cache.infinispan.GroupAdapter.hasRole ( RoleModel  role)
inline

org.keycloak.models.RoleMapperModelを実装しています。

179  {
180  if (isUpdated()) return updated.hasRole(role);
181  if (cached.getRoleMappings().contains(role.getId())) return true;
182 
183  Set<RoleModel> mappings = getRoleMappings();
184  for (RoleModel mapping: mappings) {
185  if (mapping.hasRole(role)) return true;
186  }
187  return false;
188  }
boolean isUpdated()
Definition: GroupAdapter.java:64
Set< RoleModel > getRoleMappings()
Definition: GroupAdapter.java:197
volatile GroupModel updated
Definition: GroupAdapter.java:38
Set< String > getRoleMappings()
Definition: CachedGroup.java:66
CachedGroup cached
Definition: GroupAdapter.java:39
boolean hasRole(RoleModel role)

◆ invalidate()

void org.keycloak.models.cache.infinispan.GroupAdapter.invalidate ( )
inline
60  {
61  invalidated = true;
62  }
volatile boolean invalidated
Definition: GroupAdapter.java:59

◆ isUpdated()

boolean org.keycloak.models.cache.infinispan.GroupAdapter.isUpdated ( )
inlineprotected
64  {
65  if (updated != null) return true;
66  if (!invalidated) return false;
68  if (updated == null) throw new IllegalStateException("Not found in database");
69  return true;
70  }
volatile boolean invalidated
Definition: GroupAdapter.java:59
volatile GroupModel updated
Definition: GroupAdapter.java:38
GroupModel getGroupById(String id, RealmModel realm)
RealmModel realm
Definition: GroupAdapter.java:42
CachedGroup cached
Definition: GroupAdapter.java:39
RealmCacheSession cacheSession
Definition: GroupAdapter.java:40
RealmProvider getRealmDelegate()
Definition: RealmCacheSession.java:145
String getId()
Definition: AbstractRevisioned.java:23

◆ removeAttribute()

void org.keycloak.models.cache.infinispan.GroupAdapter.removeAttribute ( String  name)
inline

org.keycloak.models.GroupModelを実装しています。

122  {
124  updated.removeAttribute(name);
125 
126  }
void getDelegateForUpdate()
Definition: GroupAdapter.java:51
volatile GroupModel updated
Definition: GroupAdapter.java:38
void removeAttribute(String name)

◆ removeChild()

void org.keycloak.models.cache.infinispan.GroupAdapter.removeChild ( GroupModel  subGroup)
inline

org.keycloak.models.GroupModelを実装しています。

266  {
268  updated.removeChild(subGroup);
269  }
void getDelegateForUpdate()
Definition: GroupAdapter.java:51
volatile GroupModel updated
Definition: GroupAdapter.java:38
void removeChild(GroupModel subGroup)

◆ setAttribute()

void org.keycloak.models.cache.infinispan.GroupAdapter.setAttribute ( String  name,
List< String >  values 
)
inline

org.keycloak.models.GroupModelを実装しています。

116  {
118  updated.setAttribute(name, values);
119  }
void getDelegateForUpdate()
Definition: GroupAdapter.java:51
volatile GroupModel updated
Definition: GroupAdapter.java:38
void setAttribute(String name, List< String > values)

◆ setName()

void org.keycloak.models.cache.infinispan.GroupAdapter.setName ( String  name)
inline

org.keycloak.models.GroupModelを実装しています。

103  {
105  updated.setName(name);
106 
107  }
void getDelegateForUpdate()
Definition: GroupAdapter.java:51
volatile GroupModel updated
Definition: GroupAdapter.java:38

◆ setParent()

void org.keycloak.models.cache.infinispan.GroupAdapter.setParent ( GroupModel  group)
inline

org.keycloak.models.GroupModelを実装しています。

252  {
254  updated.setParent(group);
255 
256  }
void getDelegateForUpdate()
Definition: GroupAdapter.java:51
void setParent(GroupModel group)
volatile GroupModel updated
Definition: GroupAdapter.java:38

◆ setSingleAttribute()

void org.keycloak.models.cache.infinispan.GroupAdapter.setSingleAttribute ( String  name,
String  value 
)
inline

org.keycloak.models.GroupModelを実装しています。

110  {
112  updated.setSingleAttribute(name, value);
113  }
void getDelegateForUpdate()
Definition: GroupAdapter.java:51
volatile GroupModel updated
Definition: GroupAdapter.java:38
void setSingleAttribute(String name, String value)

メンバ詳解

◆ cached

CachedGroup org.keycloak.models.cache.infinispan.GroupAdapter.cached
protected

◆ cacheSession

RealmCacheSession org.keycloak.models.cache.infinispan.GroupAdapter.cacheSession
protected

◆ invalidated

volatile boolean org.keycloak.models.cache.infinispan.GroupAdapter.invalidated
protected

◆ keycloakSession

KeycloakSession org.keycloak.models.cache.infinispan.GroupAdapter.keycloakSession
protected

◆ realm

RealmModel org.keycloak.models.cache.infinispan.GroupAdapter.realm
protected

◆ updated

volatile GroupModel org.keycloak.models.cache.infinispan.GroupAdapter.updated
protected

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