org.kuali.rice.kew.impl.document.security
Class DocumentSecurityHandlerServiceImpl

java.lang.Object
  extended by org.kuali.rice.kew.impl.document.security.DocumentSecurityHandlerServiceImpl
All Implemented Interfaces:
DocumentSecurityHandlerService

public class DocumentSecurityHandlerServiceImpl
extends Object
implements DocumentSecurityHandlerService

Reference implementation of the DocumentSecurityHandlerService.

Author:
Kuali Rice Team (rice.collab@kuali.org)

Constructor Summary
DocumentSecurityHandlerServiceImpl()
           
 
Method Summary
 List<String> getAuthorizedDocumentIds(String principalId, List<DocumentSecurityDirective> documentSecurityDirectives)
          Returns a list of document ids from the given list of document security directives for which the principal with the given principal id is allowed to view.
 ExtensionRepositoryService getExtensionRepositoryService()
           
protected  DocumentSecurityAttribute loadAndCacheSecurityAttribute(String securityAttributeName, Map<String,DocumentSecurityAttribute> securityAttributeCache)
           
protected  DocumentSecurityAttribute loadSecurityAttribute(ExtensionDefinition extensionDefinition)
           
protected  List<DocumentSecurityAttribute> loadSecurityAttributes(DocumentSecurityDirective documentSecurityDirective, Map<String,DocumentSecurityAttribute> securityAttributeCache)
           
 void setExtensionRepositoryService(ExtensionRepositoryService extensionRepositoryService)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

DocumentSecurityHandlerServiceImpl

public DocumentSecurityHandlerServiceImpl()
Method Detail

getAuthorizedDocumentIds

public List<String> getAuthorizedDocumentIds(String principalId,
                                             List<DocumentSecurityDirective> documentSecurityDirectives)
Description copied from interface: DocumentSecurityHandlerService
Returns a list of document ids from the given list of document security directives for which the principal with the given principal id is allowed to view. Any document which is passed to this method as part of a document security directive which is not included in the list of document ids that is returned from this method should not be presented to the principal with the given principal id.

This method essentially invokes DocumentSecurityAttribute.isAuthorizedForDocument(String, org.kuali.rice.kew.api.document.Document) method for each of the security attributes supplied in the document security directives, passing the associated list of document ids.

Specified by:
getAuthorizedDocumentIds in interface DocumentSecurityHandlerService
Parameters:
principalId - the id of the principal against which to perform the authorization
documentSecurityDirectives - the list of security directives which define the documents which should be checked for authorization and the name of the DocumentSecurityAttribute extensions against which to execute the authorization check.
Returns:
the list of document ids from the given document security directives for which the given principal is authorized, if a null or empty list is returned, that means that the given principal is not authorized to view information about any of the documents

loadSecurityAttributes

protected List<DocumentSecurityAttribute> loadSecurityAttributes(DocumentSecurityDirective documentSecurityDirective,
                                                                 Map<String,DocumentSecurityAttribute> securityAttributeCache)

loadAndCacheSecurityAttribute

protected DocumentSecurityAttribute loadAndCacheSecurityAttribute(String securityAttributeName,
                                                                  Map<String,DocumentSecurityAttribute> securityAttributeCache)

loadSecurityAttribute

protected DocumentSecurityAttribute loadSecurityAttribute(ExtensionDefinition extensionDefinition)

getExtensionRepositoryService

public ExtensionRepositoryService getExtensionRepositoryService()

setExtensionRepositoryService

public void setExtensionRepositoryService(ExtensionRepositoryService extensionRepositoryService)


Copyright © 2005-2011 The Kuali Foundation. All Rights Reserved.