org.kuali.rice.kns.document.authorization
Class DocumentAuthorizerBase

java.lang.Object
  extended by org.kuali.rice.krad.bo.DataObjectAuthorizerBase
      extended by org.kuali.rice.kns.bo.authorization.BusinessObjectAuthorizerBase
          extended by org.kuali.rice.kns.document.authorization.DocumentAuthorizerBase
All Implemented Interfaces:
Serializable, BusinessObjectAuthorizer, DataObjectAuthorizer, DocumentAuthorizer
Direct Known Subclasses:
MaintenanceDocumentAuthorizerBase, TransactionalDocumentAuthorizerBase

public class DocumentAuthorizerBase
extends BusinessObjectAuthorizerBase
implements DocumentAuthorizer

DocumentAuthorizer containing common, reusable document-level authorization code.

See Also:
Serialized Form

Field Summary
static String EDIT_MODE_DEFAULT_TRUE_VALUE
           
protected static org.apache.commons.logging.Log LOG
           
static String PRE_ROUTING_ROUTE_NAME
           
static String USER_SESSION_METHOD_TO_CALL_COMPLETE_MARKER
           
static String USER_SESSION_METHOD_TO_CALL_COMPLETE_OBJECT_KEY
           
static String USER_SESSION_METHOD_TO_CALL_OBJECT_KEY
           
 
Constructor Summary
DocumentAuthorizerBase()
           
 
Method Summary
protected  void addPermissionDetails(Object dataObject, Map<String,String> attributes)
          Override this method to populate the permission details from the primary data object or document.
protected  void addRoleQualification(Object dataObject, Map<String,String> attributes)
          Override this method to populate the role qualifier attributes from the primary data object or document.
protected  void addStandardAttributes(Document document, Map<String,String> attributes)
           
 boolean canAcknowledge(Document document, Person user)
           
 boolean canAddNoteAttachment(Document document, String attachmentTypeCode, Person user)
           
 boolean canAnnotate(Document document, Person user)
           
 boolean canApprove(Document document, Person user)
           
 boolean canBlanketApprove(Document document, Person user)
           
 boolean canCancel(Document document, Person user)
          Determines if the user has permission to cancel the document
 boolean canClose(Document document, Person user)
           
 boolean canCopy(Document document, Person user)
          Determines if the user has permission to copy the document
 boolean canDeleteNoteAttachment(Document document, String attachmentTypeCode, String createdBySelfOnly, Person user)
           
 boolean canDisapprove(Document document, Person user)
           
 boolean canEdit(Document document, Person user)
          Determines if the document can be edited; if false is returned, then all fields are in a read only state
 boolean canEditDocumentOverview(Document document, Person user)
           
 boolean canFyi(Document document, Person user)
           
 boolean canInitiate(String documentTypeName, Person user)
          Checks if a user has the permissions to initiate a document
 boolean canOpen(Document document, Person user)
          Checks if a user has the permissions to open a document
 boolean canPerformRouteReport(Document document, Person user)
           
 boolean canRecall(Document document, Person user)
           
 boolean canReceiveAdHoc(Document document, Person user, String actionRequestCode)
           
 boolean canReload(Document document, Person user)
           
 boolean canRoute(Document document, Person user)
          Determines if the user has permission to route the document
 boolean canSave(Document document, Person user)
           
 boolean canSendAdHocRequests(Document document, String actionRequestCd, Person user)
           
 boolean canSendAnyTypeAdHocRequests(Document document, Person user)
           
 boolean canSendNoteFyi(Document document, Person user)
           
 boolean canTakeRequestedAction(Document document, String actionRequestCode, Person user)
           
 boolean canViewNoteAttachment(Document document, String attachmentTypeCode, Person user)
           
 boolean canViewNoteAttachment(Document document, String attachmentTypeCode, String authorUniversalIdentifier, Person user)
           
 Set<String> getDocumentActions(Document document, Person user, Set<String> documentActions)
          Individual document families will need to reimplement this according to their own needs; this version should be good enough to be usable during initial development.
protected  boolean isDocumentInitiator(Document document, Person user)
           
 
Methods inherited from class org.kuali.rice.kns.bo.authorization.BusinessObjectAuthorizerBase
getCollectionItemPermissionDetails, getCollectionItemRoleQualifications, getDataDictionaryService, getKualiModuleService, getRoleQualification, isAuthorized, isAuthorized, isAuthorizedByTemplate, permissionExistsByTemplate, permissionExistsByTemplate
 
Methods inherited from class org.kuali.rice.krad.bo.DataObjectAuthorizerBase
getPermissionDetailValues, getPermissionService, getPersonService, getRoleQualification, isAuthorized, isAuthorized, isAuthorizedByTemplate, isAuthorizedByTemplate, permissionExistsByTemplate, permissionExistsByTemplate, permissionExistsByTemplate
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.kuali.rice.kns.authorization.BusinessObjectAuthorizer
getCollectionItemPermissionDetails, getCollectionItemRoleQualifications, isAuthorized, isAuthorized, isAuthorizedByTemplate, isAuthorizedByTemplate
 
Methods inherited from interface org.kuali.rice.krad.bo.DataObjectAuthorizer
isAuthorized, isAuthorized, isAuthorizedByTemplate, isAuthorizedByTemplate
 

Field Detail

LOG

protected static org.apache.commons.logging.Log LOG

PRE_ROUTING_ROUTE_NAME

public static final String PRE_ROUTING_ROUTE_NAME
See Also:
Constant Field Values

EDIT_MODE_DEFAULT_TRUE_VALUE

public static final String EDIT_MODE_DEFAULT_TRUE_VALUE
See Also:
Constant Field Values

USER_SESSION_METHOD_TO_CALL_OBJECT_KEY

public static final String USER_SESSION_METHOD_TO_CALL_OBJECT_KEY
See Also:
Constant Field Values

USER_SESSION_METHOD_TO_CALL_COMPLETE_OBJECT_KEY

public static final String USER_SESSION_METHOD_TO_CALL_COMPLETE_OBJECT_KEY
See Also:
Constant Field Values

USER_SESSION_METHOD_TO_CALL_COMPLETE_MARKER

public static final String USER_SESSION_METHOD_TO_CALL_COMPLETE_MARKER
See Also:
Constant Field Values
Constructor Detail

DocumentAuthorizerBase

public DocumentAuthorizerBase()
Method Detail

getDocumentActions

public Set<String> getDocumentActions(Document document,
                                      Person user,
                                      Set<String> documentActions)
Individual document families will need to reimplement this according to their own needs; this version should be good enough to be usable during initial development.


canInitiate

public boolean canInitiate(String documentTypeName,
                           Person user)
Description copied from interface: DocumentAuthorizer
Checks if a user has the permissions to initiate a document

Specified by:
canInitiate in interface DocumentAuthorizer
Returns:
boolean, true if the user has the permissions to initiate a document else false

canEdit

public boolean canEdit(Document document,
                       Person user)
Description copied from interface: DocumentAuthorizer
Determines if the document can be edited; if false is returned, then all fields are in a read only state

Specified by:
canEdit in interface DocumentAuthorizer
Returns:
boolean, true if the user has the permissions to edit a document else false

canAnnotate

public boolean canAnnotate(Document document,
                           Person user)
Specified by:
canAnnotate in interface DocumentAuthorizer

canReload

public boolean canReload(Document document,
                         Person user)
Specified by:
canReload in interface DocumentAuthorizer

canClose

public boolean canClose(Document document,
                        Person user)
Specified by:
canClose in interface DocumentAuthorizer

canSave

public boolean canSave(Document document,
                       Person user)
Specified by:
canSave in interface DocumentAuthorizer

canRoute

public boolean canRoute(Document document,
                        Person user)
Description copied from interface: DocumentAuthorizer
Determines if the user has permission to route the document

Specified by:
canRoute in interface DocumentAuthorizer
Returns:
boolean, true if the user has permissions to route a document else false

canCancel

public boolean canCancel(Document document,
                         Person user)
Description copied from interface: DocumentAuthorizer
Determines if the user has permission to cancel the document

Specified by:
canCancel in interface DocumentAuthorizer
Returns:
boolean, true if the user has permissions to cancel a document else false

canRecall

public boolean canRecall(Document document,
                         Person user)
Specified by:
canRecall in interface DocumentAuthorizer

canCopy

public boolean canCopy(Document document,
                       Person user)
Description copied from interface: DocumentAuthorizer
Determines if the user has permission to copy the document

Specified by:
canCopy in interface DocumentAuthorizer
Returns:
boolean, true if the user has permissions to cancel a document else false

canPerformRouteReport

public boolean canPerformRouteReport(Document document,
                                     Person user)
Specified by:
canPerformRouteReport in interface DocumentAuthorizer

canBlanketApprove

public boolean canBlanketApprove(Document document,
                                 Person user)
Specified by:
canBlanketApprove in interface DocumentAuthorizer

canApprove

public boolean canApprove(Document document,
                          Person user)
Specified by:
canApprove in interface DocumentAuthorizer

canDisapprove

public boolean canDisapprove(Document document,
                             Person user)
Specified by:
canDisapprove in interface DocumentAuthorizer

canSendNoteFyi

public boolean canSendNoteFyi(Document document,
                              Person user)
Specified by:
canSendNoteFyi in interface DocumentAuthorizer

canFyi

public boolean canFyi(Document document,
                      Person user)
Specified by:
canFyi in interface DocumentAuthorizer

canAcknowledge

public boolean canAcknowledge(Document document,
                              Person user)
Specified by:
canAcknowledge in interface DocumentAuthorizer

canReceiveAdHoc

public boolean canReceiveAdHoc(Document document,
                               Person user,
                               String actionRequestCode)
Specified by:
canReceiveAdHoc in interface DocumentAuthorizer

canOpen

public boolean canOpen(Document document,
                       Person user)
Description copied from interface: DocumentAuthorizer
Checks if a user has the permissions to open a document

Specified by:
canOpen in interface DocumentAuthorizer
Returns:
boolean, true if the user has the permissions to open a document else false

canAddNoteAttachment

public boolean canAddNoteAttachment(Document document,
                                    String attachmentTypeCode,
                                    Person user)
Specified by:
canAddNoteAttachment in interface DocumentAuthorizer

canDeleteNoteAttachment

public boolean canDeleteNoteAttachment(Document document,
                                       String attachmentTypeCode,
                                       String createdBySelfOnly,
                                       Person user)
Specified by:
canDeleteNoteAttachment in interface DocumentAuthorizer

canViewNoteAttachment

public boolean canViewNoteAttachment(Document document,
                                     String attachmentTypeCode,
                                     Person user)

canViewNoteAttachment

public boolean canViewNoteAttachment(Document document,
                                     String attachmentTypeCode,
                                     String authorUniversalIdentifier,
                                     Person user)
Specified by:
canViewNoteAttachment in interface DocumentAuthorizer

canSendAdHocRequests

public boolean canSendAdHocRequests(Document document,
                                    String actionRequestCd,
                                    Person user)
Specified by:
canSendAdHocRequests in interface DocumentAuthorizer

canEditDocumentOverview

public boolean canEditDocumentOverview(Document document,
                                       Person user)
Specified by:
canEditDocumentOverview in interface DocumentAuthorizer

canSendAnyTypeAdHocRequests

public boolean canSendAnyTypeAdHocRequests(Document document,
                                           Person user)
Specified by:
canSendAnyTypeAdHocRequests in interface DocumentAuthorizer

canTakeRequestedAction

public boolean canTakeRequestedAction(Document document,
                                      String actionRequestCode,
                                      Person user)
Specified by:
canTakeRequestedAction in interface DocumentAuthorizer

addPermissionDetails

protected void addPermissionDetails(Object dataObject,
                                    Map<String,String> attributes)
Description copied from class: DataObjectAuthorizerBase
Override this method to populate the permission details from the primary data object or document. This will only be called once per request.

Overrides:
addPermissionDetails in class DataObjectAuthorizerBase
Parameters:
dataObject - - the primary data object (i.e. the main object instance behind the lookup result row or inquiry) or the document
attributes - - permission details will be added to this map

addRoleQualification

protected void addRoleQualification(Object dataObject,
                                    Map<String,String> attributes)
Description copied from class: DataObjectAuthorizerBase
Override this method to populate the role qualifier attributes from the primary data object or document. This will only be called once per request.

Overrides:
addRoleQualification in class DataObjectAuthorizerBase
Parameters:
dataObject - - the primary data object (i.e. the main object instance behind the lookup result row or inquiry) or the document
attributes - - role qualifiers will be added to this map

addStandardAttributes

protected void addStandardAttributes(Document document,
                                     Map<String,String> attributes)

isDocumentInitiator

protected boolean isDocumentInitiator(Document document,
                                      Person user)


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