com.atlassian.jira.sharing
Class CachingSharePermissionStore

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

public class CachingSharePermissionStore
extends Object
implements SharePermissionStore

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
 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

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


Copyright © 2002-2008 Atlassian. All Rights Reserved.