com.atlassian.jira.sharing
Class CachingSharePermissionStore

java.lang.Object
  extended by com.atlassian.jira.sharing.CachingSharePermissionStore
All Implemented Interfaces:
Startable, SharePermissionStore

public class CachingSharePermissionStore
extends Object
implements SharePermissionStore, Startable

Cache is key on entityId:type. This is very broken, but no more broken than and of the other caches.

Since:
v3.13

Constructor Summary
CachingSharePermissionStore(SharePermissionStore delegateStore)
           
 
Method Summary
 int deleteSharePermissions(SharedEntity entity)
          Delete all SharePermission instances associate with given entity.
 int deleteSharePermissionsLike(SharePermission permission)
          Deletes SharePermission's that have the same "shape" as the provided share permission.
 SharedEntity.SharePermissions getSharePermissions(SharedEntity entity)
          Retrieve all SharePermission instances associated with a given SharedEntity
 void onClearCache(ClearCacheEvent event)
           
 void start()
          This method wil be called after the plugin system is fully initialised and all components added to the dependency injection framework.
 SharedEntity.SharePermissions storeSharePermissions(SharedEntity entity)
          Associate given entity with passed in Collection SharePermission.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

CachingSharePermissionStore

public CachingSharePermissionStore(SharePermissionStore delegateStore)
Method Detail

onClearCache

@EventListener
public void onClearCache(ClearCacheEvent event)

getSharePermissions

public SharedEntity.SharePermissions getSharePermissions(SharedEntity entity)
Description copied from interface: SharePermissionStore
Retrieve all SharePermission instances associated with a given SharedEntity

Specified by:
getSharePermissions in interface SharePermissionStore
Parameters:
entity - The entity that SharePermissions are associated with
Returns:
SharePermissions containing SharePermission instances that are associated with a given entity

deleteSharePermissions

public int deleteSharePermissions(SharedEntity entity)
Description copied from interface: SharePermissionStore
Delete all SharePermission instances associate with given entity.

Specified by:
deleteSharePermissions in interface SharePermissionStore
Parameters:
entity - The entity that SharePermissions are associated with
Returns:
the number of permissions that were deleted.

deleteSharePermissionsLike

public int deleteSharePermissionsLike(SharePermission permission)
Description copied from interface: SharePermissionStore
Deletes SharePermission's that have the same "shape" as the provided share permission. It uses the type, param1, amd param2 to as the basis for deleting SharePermission

Specified by:
deleteSharePermissionsLike in interface SharePermissionStore
Parameters:
permission - a 'template' of the type of SharePermission you want to delete
Returns:
the number of rows affected by the delete

storeSharePermissions

public SharedEntity.SharePermissions storeSharePermissions(SharedEntity entity)
Description copied from interface: SharePermissionStore
Associate given entity with passed in Collection SharePermission. Store is responsible for updating and creating current shares associated with entity.

Specified by:
storeSharePermissions in interface SharePermissionStore
Parameters:
entity - The entity to associate SharePermissions with
Returns:
SharePermissions containing the SharePermission instances that were persisted

start

public void start()
           throws Exception
Description copied from interface: Startable
This method wil be called after the plugin system is fully initialised and all components added to the dependency injection framework.

Specified by:
start in interface Startable
Throws:
Exception - Allows implementations to throw an Exception.


Copyright © 2002-2013 Atlassian. All Rights Reserved.