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

公開メンバ関数

 ResourceAdapter (CachedResource cached, StoreFactoryCacheSession cacheSession)
 
Resource getDelegateForUpdate ()
 
void invalidate ()
 
long getCacheTimestamp ()
 
String getId ()
 
String getName ()
 
void setName (String name)
 
String getDisplayName ()
 
void setDisplayName (String name)
 
String getIconUri ()
 
void setIconUri (String iconUri)
 
ResourceServer getResourceServer ()
 
Set< String > getUris ()
 
void updateUris (Set< String > uris)
 
String getType ()
 
void setType (String type)
 
List< ScopegetScopes ()
 
String getOwner ()
 
boolean isOwnerManagedAccess ()
 
void setOwnerManagedAccess (boolean ownerManagedAccess)
 
void updateScopes (Set< Scope > scopes)
 
Map< String, List< String > > getAttributes ()
 
String getSingleAttribute (String name)
 
List< String > getAttribute (String name)
 
void setAttribute (String name, List< String > values)
 
void removeAttribute (String name)
 
boolean equals (Object o)
 
int hashCode ()
 

限定公開メンバ関数

void invalidateFlag ()
 
boolean isUpdated ()
 

限定公開変数類

CachedResource cached
 
StoreFactoryCacheSession cacheSession
 
Resource updated
 
boolean invalidated
 
List< Scopescopes
 

詳解

著者
Bill Burke
バージョン
Revision
1

構築子と解体子

◆ ResourceAdapter()

org.keycloak.models.cache.infinispan.authorization.ResourceAdapter.ResourceAdapter ( CachedResource  cached,
StoreFactoryCacheSession  cacheSession 
)
inline
47  {
48  this.cached = cached;
50  }
StoreFactoryCacheSession cacheSession
Definition: ResourceAdapter.java:44
CachedResource cached
Definition: ResourceAdapter.java:43

関数詳解

◆ equals()

boolean org.keycloak.models.cache.infinispan.authorization.ResourceAdapter.equals ( Object  o)
inline
271  {
272  if (this == o) return true;
273  if (o == null || !(o instanceof Resource)) return false;
274 
275  Resource that = (Resource) o;
276  return that.getId().equals(getId());
277  }
String getId()
Definition: ResourceAdapter.java:90

◆ getAttribute()

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

org.keycloak.authorization.model.Resourceを実装しています。

246  {
247  if (updated != null) return updated.getAttribute(name);
248 
249  List<String> values = cached.getAttributes().getOrDefault(name, Collections.emptyList());
250 
251  if (values.isEmpty()) {
252  return null;
253  }
254 
255  return Collections.unmodifiableList(values);
256  }
Resource updated
Definition: ResourceAdapter.java:45
CachedResource cached
Definition: ResourceAdapter.java:43
List< String > getAttribute(String name)
Map< String, List< String > > getAttributes()
Definition: CachedResource.java:98

◆ getAttributes()

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

org.keycloak.authorization.model.Resourceを実装しています。

227  {
228  if (updated != null) return updated.getAttributes();
229  return cached.getAttributes();
230  }
Resource updated
Definition: ResourceAdapter.java:45
CachedResource cached
Definition: ResourceAdapter.java:43
Map< String, List< String > > getAttributes()
Map< String, List< String > > getAttributes()
Definition: CachedResource.java:98

◆ getCacheTimestamp()

long org.keycloak.models.cache.infinispan.authorization.ResourceAdapter.getCacheTimestamp ( )
inline

org.keycloak.authorization.model.CachedModel< Model >を実装しています。

76  {
77  return cached.getCacheTimestamp();
78  }
CachedResource cached
Definition: ResourceAdapter.java:43
long getCacheTimestamp()
Definition: AbstractRevisioned.java:43

◆ getDelegateForUpdate()

Resource org.keycloak.models.cache.infinispan.authorization.ResourceAdapter.getDelegateForUpdate ( )
inline

org.keycloak.authorization.model.CachedModel< Model >を実装しています。

53  {
54  if (updated == null) {
57  if (updated == null) throw new IllegalStateException("Not found in database");
58  }
59  return updated;
60  }
Resource updated
Definition: ResourceAdapter.java:45
void registerResourceInvalidation(String id, String name, String type, Set< String > uris, Set< String > scopes, String serverId, String owner)
Definition: StoreFactoryCacheSession.java:269
ResourceStore getResourceStoreDelegate()
Definition: StoreFactoryCacheSession.java:322
StoreFactoryCacheSession cacheSession
Definition: ResourceAdapter.java:44
Resource findById(String id, String resourceServerId)
CachedResource cached
Definition: ResourceAdapter.java:43
Set< String > getUris()
Definition: CachedResource.java:70
Set< String > getScopesIds()
Definition: CachedResource.java:94
String getId()
Definition: AbstractRevisioned.java:23

◆ getDisplayName()

String org.keycloak.models.cache.infinispan.authorization.ResourceAdapter.getDisplayName ( )
inline

org.keycloak.authorization.model.Resourceを実装しています。

109  {
110  if (isUpdated()) return updated.getDisplayName();
111  return cached.getDisplayName();
112  }
Resource updated
Definition: ResourceAdapter.java:45
boolean isUpdated()
Definition: ResourceAdapter.java:80
CachedResource cached
Definition: ResourceAdapter.java:43

◆ getIconUri()

String org.keycloak.models.cache.infinispan.authorization.ResourceAdapter.getIconUri ( )
inline

org.keycloak.authorization.model.Resourceを実装しています。

122  {
123  if (isUpdated()) return updated.getIconUri();
124  return cached.getIconUri();
125  }
Resource updated
Definition: ResourceAdapter.java:45
boolean isUpdated()
Definition: ResourceAdapter.java:80
CachedResource cached
Definition: ResourceAdapter.java:43

◆ getId()

String org.keycloak.models.cache.infinispan.authorization.ResourceAdapter.getId ( )
inline

org.keycloak.authorization.model.Resourceを実装しています。

90  {
91  if (isUpdated()) return updated.getId();
92  return cached.getId();
93  }
Resource updated
Definition: ResourceAdapter.java:45
boolean isUpdated()
Definition: ResourceAdapter.java:80
CachedResource cached
Definition: ResourceAdapter.java:43
String getId()
Definition: AbstractRevisioned.java:23

◆ getName()

String org.keycloak.models.cache.infinispan.authorization.ResourceAdapter.getName ( )
inline

org.keycloak.authorization.model.Resourceを実装しています。

96  {
97  if (isUpdated()) return updated.getName();
98  return cached.getName();
99  }
Resource updated
Definition: ResourceAdapter.java:45
boolean isUpdated()
Definition: ResourceAdapter.java:80
CachedResource cached
Definition: ResourceAdapter.java:43

◆ getOwner()

String org.keycloak.models.cache.infinispan.authorization.ResourceAdapter.getOwner ( )
inline

org.keycloak.authorization.model.Resourceを実装しています。

181  {
182  if (isUpdated()) return updated.getOwner();
183  return cached.getOwner();
184  }
Resource updated
Definition: ResourceAdapter.java:45
boolean isUpdated()
Definition: ResourceAdapter.java:80
CachedResource cached
Definition: ResourceAdapter.java:43

◆ getResourceServer()

ResourceServer org.keycloak.models.cache.infinispan.authorization.ResourceAdapter.getResourceServer ( )
inline

org.keycloak.authorization.model.Resourceを実装しています。

135  {
137  }
StoreFactoryCacheSession cacheSession
Definition: ResourceAdapter.java:44
CachedResource cached
Definition: ResourceAdapter.java:43
ResourceServerStore getResourceServerStore()
Definition: StoreFactoryCacheSession.java:125

◆ getScopes()

List<Scope> org.keycloak.models.cache.infinispan.authorization.ResourceAdapter.getScopes ( )
inline

org.keycloak.authorization.model.Resourceを実装しています。

169  {
170  if (isUpdated()) return updated.getScopes();
171  if (scopes != null) return scopes;
172  scopes = new LinkedList<>();
173  for (String scopeId : cached.getScopesIds()) {
175  }
176  scopes = Collections.unmodifiableList(scopes);
177  return scopes;
178  }
Resource updated
Definition: ResourceAdapter.java:45
boolean isUpdated()
Definition: ResourceAdapter.java:80
StoreFactoryCacheSession cacheSession
Definition: ResourceAdapter.java:44
List< Scope > scopes
Definition: ResourceAdapter.java:166
CachedResource cached
Definition: ResourceAdapter.java:43
Scope findById(String id, String resourceServerId)
Set< String > getScopesIds()
Definition: CachedResource.java:94
ScopeStore getScopeStore()
Definition: StoreFactoryCacheSession.java:130

◆ getSingleAttribute()

String org.keycloak.models.cache.infinispan.authorization.ResourceAdapter.getSingleAttribute ( String  name)
inline

org.keycloak.authorization.model.Resourceを実装しています。

233  {
234  if (updated != null) return updated.getSingleAttribute(name);
235 
236  List<String> values = cached.getAttributes().getOrDefault(name, Collections.emptyList());
237 
238  if (values.isEmpty()) {
239  return null;
240  }
241 
242  return values.get(0);
243  }
Resource updated
Definition: ResourceAdapter.java:45
CachedResource cached
Definition: ResourceAdapter.java:43
Map< String, List< String > > getAttributes()
Definition: CachedResource.java:98

◆ getType()

String org.keycloak.models.cache.infinispan.authorization.ResourceAdapter.getType ( )
inline

org.keycloak.authorization.model.Resourceを実装しています。

153  {
154  if (isUpdated()) return updated.getType();
155  return cached.getType();
156  }
Resource updated
Definition: ResourceAdapter.java:45
boolean isUpdated()
Definition: ResourceAdapter.java:80
CachedResource cached
Definition: ResourceAdapter.java:43

◆ getUris()

Set<String> org.keycloak.models.cache.infinispan.authorization.ResourceAdapter.getUris ( )
inline

org.keycloak.authorization.model.Resourceを実装しています。

140  {
141  if (isUpdated()) return updated.getUris();
142  return cached.getUris();
143  }
Resource updated
Definition: ResourceAdapter.java:45
boolean isUpdated()
Definition: ResourceAdapter.java:80
CachedResource cached
Definition: ResourceAdapter.java:43
Set< String > getUris()
Definition: CachedResource.java:70

◆ hashCode()

int org.keycloak.models.cache.infinispan.authorization.ResourceAdapter.hashCode ( )
inline
280  {
281  return getId().hashCode();
282  }
String getId()
Definition: ResourceAdapter.java:90

◆ invalidate()

void org.keycloak.models.cache.infinispan.authorization.ResourceAdapter.invalidate ( )
inline

org.keycloak.authorization.model.CachedModel< Model >を実装しています。

70  {
71  invalidated = true;
73  }
Resource getDelegateForUpdate()
Definition: ResourceAdapter.java:53
boolean invalidated
Definition: ResourceAdapter.java:62

◆ invalidateFlag()

void org.keycloak.models.cache.infinispan.authorization.ResourceAdapter.invalidateFlag ( )
inlineprotected
64  {
65  invalidated = true;
66 
67  }
boolean invalidated
Definition: ResourceAdapter.java:62

◆ isOwnerManagedAccess()

boolean org.keycloak.models.cache.infinispan.authorization.ResourceAdapter.isOwnerManagedAccess ( )
inline

org.keycloak.authorization.model.Resourceを実装しています。

187  {
188  if (isUpdated()) return updated.isOwnerManagedAccess();
189  return cached.isOwnerManagedAccess();
190  }
Resource updated
Definition: ResourceAdapter.java:45
boolean isOwnerManagedAccess()
Definition: CachedResource.java:86
boolean isUpdated()
Definition: ResourceAdapter.java:80
CachedResource cached
Definition: ResourceAdapter.java:43

◆ isUpdated()

boolean org.keycloak.models.cache.infinispan.authorization.ResourceAdapter.isUpdated ( )
inlineprotected
80  {
81  if (updated != null) return true;
82  if (!invalidated) return false;
84  if (updated == null) throw new IllegalStateException("Not found in database");
85  return true;
86  }
Resource updated
Definition: ResourceAdapter.java:45
ResourceStore getResourceStoreDelegate()
Definition: StoreFactoryCacheSession.java:322
StoreFactoryCacheSession cacheSession
Definition: ResourceAdapter.java:44
Resource findById(String id, String resourceServerId)
boolean invalidated
Definition: ResourceAdapter.java:62
CachedResource cached
Definition: ResourceAdapter.java:43
String getId()
Definition: AbstractRevisioned.java:23

◆ removeAttribute()

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

org.keycloak.authorization.model.Resourceを実装しています。

265  {
267  updated.removeAttribute(name);
268  }
Resource updated
Definition: ResourceAdapter.java:45
Resource getDelegateForUpdate()
Definition: ResourceAdapter.java:53

◆ setAttribute()

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

org.keycloak.authorization.model.Resourceを実装しています。

259  {
261  updated.setAttribute(name, values);
262  }
Resource updated
Definition: ResourceAdapter.java:45
Resource getDelegateForUpdate()
Definition: ResourceAdapter.java:53
void setAttribute(String name, List< String > values)

◆ setDisplayName()

void org.keycloak.models.cache.infinispan.authorization.ResourceAdapter.setDisplayName ( String  name)
inline

org.keycloak.authorization.model.Resourceを実装しています。

115  {
118  updated.setDisplayName(name);
119  }
Resource updated
Definition: ResourceAdapter.java:45
void registerResourceInvalidation(String id, String name, String type, Set< String > uris, Set< String > scopes, String serverId, String owner)
Definition: StoreFactoryCacheSession.java:269
Resource getDelegateForUpdate()
Definition: ResourceAdapter.java:53
StoreFactoryCacheSession cacheSession
Definition: ResourceAdapter.java:44
CachedResource cached
Definition: ResourceAdapter.java:43
Set< String > getUris()
Definition: CachedResource.java:70
Set< String > getScopesIds()
Definition: CachedResource.java:94
String getId()
Definition: AbstractRevisioned.java:23

◆ setIconUri()

void org.keycloak.models.cache.infinispan.authorization.ResourceAdapter.setIconUri ( String  iconUri)
inline

org.keycloak.authorization.model.Resourceを実装しています。

128  {
130  updated.setIconUri(iconUri);
131 
132  }
Resource updated
Definition: ResourceAdapter.java:45
Resource getDelegateForUpdate()
Definition: ResourceAdapter.java:53

◆ setName()

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

org.keycloak.authorization.model.Resourceを実装しています。

102  {
105  updated.setName(name);
106  }
Resource updated
Definition: ResourceAdapter.java:45
void registerResourceInvalidation(String id, String name, String type, Set< String > uris, Set< String > scopes, String serverId, String owner)
Definition: StoreFactoryCacheSession.java:269
Resource getDelegateForUpdate()
Definition: ResourceAdapter.java:53
StoreFactoryCacheSession cacheSession
Definition: ResourceAdapter.java:44
CachedResource cached
Definition: ResourceAdapter.java:43
Set< String > getUris()
Definition: CachedResource.java:70
Set< String > getScopesIds()
Definition: CachedResource.java:94
String getId()
Definition: AbstractRevisioned.java:23

◆ setOwnerManagedAccess()

void org.keycloak.models.cache.infinispan.authorization.ResourceAdapter.setOwnerManagedAccess ( boolean  ownerManagedAccess)
inline

org.keycloak.authorization.model.Resourceを実装しています。

193  {
196  updated.setOwnerManagedAccess(ownerManagedAccess);
197  }
Resource updated
Definition: ResourceAdapter.java:45
void registerResourceInvalidation(String id, String name, String type, Set< String > uris, Set< String > scopes, String serverId, String owner)
Definition: StoreFactoryCacheSession.java:269
void setOwnerManagedAccess(boolean ownerManagedAccess)
Resource getDelegateForUpdate()
Definition: ResourceAdapter.java:53
StoreFactoryCacheSession cacheSession
Definition: ResourceAdapter.java:44
CachedResource cached
Definition: ResourceAdapter.java:43
Set< String > getUris()
Definition: CachedResource.java:70
Set< String > getScopesIds()
Definition: CachedResource.java:94
String getId()
Definition: AbstractRevisioned.java:23

◆ setType()

void org.keycloak.models.cache.infinispan.authorization.ResourceAdapter.setType ( String  type)
inline

org.keycloak.authorization.model.Resourceを実装しています。

159  {
162  updated.setType(type);
163 
164  }
Resource updated
Definition: ResourceAdapter.java:45
void registerResourceInvalidation(String id, String name, String type, Set< String > uris, Set< String > scopes, String serverId, String owner)
Definition: StoreFactoryCacheSession.java:269
Resource getDelegateForUpdate()
Definition: ResourceAdapter.java:53
StoreFactoryCacheSession cacheSession
Definition: ResourceAdapter.java:44
CachedResource cached
Definition: ResourceAdapter.java:43
Set< String > getUris()
Definition: CachedResource.java:70
Set< String > getScopesIds()
Definition: CachedResource.java:94
String getId()
Definition: AbstractRevisioned.java:23

◆ updateScopes()

void org.keycloak.models.cache.infinispan.authorization.ResourceAdapter.updateScopes ( Set< Scope scopes)
inline

org.keycloak.authorization.model.Resourceを実装しています。

200  {
201  Resource updated = getDelegateForUpdate();
202 
203  for (Scope scope : updated.getScopes()) {
204  if (!scopes.contains(scope)) {
205  PermissionTicketStore permissionStore = cacheSession.getPermissionTicketStore();
206  List<PermissionTicket> permissions = permissionStore.findByScope(scope.getId(), getResourceServer().getId());
207 
208  for (PermissionTicket permission : permissions) {
209  permissionStore.delete(permission.getId());
210  }
211  }
212  }
213 
214  PolicyStore policyStore = cacheSession.getPolicyStore();
215 
216  for (Scope scope : updated.getScopes()) {
217  if (!scopes.contains(scope)) {
218  policyStore.findByResource(getId(), getResourceServer().getId(), policy -> policy.removeScope(scope));
219  }
220  }
221 
222  cacheSession.registerResourceInvalidation(cached.getId(), cached.getName(), cached.getType(), cached.getUris(), scopes.stream().map(scope1 -> scope1.getId()).collect(Collectors.toSet()), cached.getResourceServerId(), cached.getOwner());
223  updated.updateScopes(scopes);
224  }
Resource updated
Definition: ResourceAdapter.java:45
void registerResourceInvalidation(String id, String name, String type, Set< String > uris, Set< String > scopes, String serverId, String owner)
Definition: StoreFactoryCacheSession.java:269
PermissionTicketStore getPermissionTicketStore()
Definition: StoreFactoryCacheSession.java:145
Resource getDelegateForUpdate()
Definition: ResourceAdapter.java:53
StoreFactoryCacheSession cacheSession
Definition: ResourceAdapter.java:44
List< Scope > scopes
Definition: ResourceAdapter.java:166
CachedResource cached
Definition: ResourceAdapter.java:43
Set< String > getUris()
Definition: CachedResource.java:70
List< PermissionTicket > findByScope(String scopeId, String resourceServerId)
PolicyStore getPolicyStore()
Definition: StoreFactoryCacheSession.java:140
ResourceServer getResourceServer()
Definition: ResourceAdapter.java:135
List< Policy > findByResource(String resourceId, String resourceServerId)
String getId()
Definition: ResourceAdapter.java:90
String getId()
Definition: AbstractRevisioned.java:23

◆ updateUris()

void org.keycloak.models.cache.infinispan.authorization.ResourceAdapter.updateUris ( Set< String >  uris)
inline

org.keycloak.authorization.model.Resourceを実装しています。

146  {
149  updated.updateUris(uris);
150  }
Resource updated
Definition: ResourceAdapter.java:45
void registerResourceInvalidation(String id, String name, String type, Set< String > uris, Set< String > scopes, String serverId, String owner)
Definition: StoreFactoryCacheSession.java:269
Resource getDelegateForUpdate()
Definition: ResourceAdapter.java:53
StoreFactoryCacheSession cacheSession
Definition: ResourceAdapter.java:44
CachedResource cached
Definition: ResourceAdapter.java:43
Set< String > getScopesIds()
Definition: CachedResource.java:94
String getId()
Definition: AbstractRevisioned.java:23

メンバ詳解

◆ cached

CachedResource org.keycloak.models.cache.infinispan.authorization.ResourceAdapter.cached
protected

◆ cacheSession

StoreFactoryCacheSession org.keycloak.models.cache.infinispan.authorization.ResourceAdapter.cacheSession
protected

◆ invalidated

boolean org.keycloak.models.cache.infinispan.authorization.ResourceAdapter.invalidated
protected

◆ scopes

List<Scope> org.keycloak.models.cache.infinispan.authorization.ResourceAdapter.scopes
protected

◆ updated

Resource org.keycloak.models.cache.infinispan.authorization.ResourceAdapter.updated
protected

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