org.kuali.rice.krad.kim
Class DocumentTypeAndNodeOrStatePermissionTypeServiceImpl

java.lang.Object
  extended by org.kuali.rice.kns.kim.type.DataDictionaryTypeServiceBase
      extended by org.kuali.rice.kns.kim.permission.PermissionTypeServiceBase
          extended by org.kuali.rice.krad.kim.DocumentTypePermissionTypeServiceImpl
              extended by org.kuali.rice.krad.kim.DocumentTypeAndNodeOrStatePermissionTypeServiceImpl
All Implemented Interfaces:
PermissionTypeService, KimTypeService

public class DocumentTypeAndNodeOrStatePermissionTypeServiceImpl
extends DocumentTypePermissionTypeServiceImpl

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

Nested Class Summary
 
Nested classes/interfaces inherited from class org.kuali.rice.kns.kim.type.DataDictionaryTypeServiceBase
DataDictionaryTypeServiceBase.KimTypeAttributeException, DataDictionaryTypeServiceBase.KimTypeAttributeValidationException
 
Field Summary
 
Fields inherited from class org.kuali.rice.krad.kim.DocumentTypePermissionTypeServiceImpl
documentTypeService
 
Fields inherited from class org.kuali.rice.kns.kim.type.DataDictionaryTypeServiceBase
COMMA_SEPARATOR
 
Constructor Summary
DocumentTypeAndNodeOrStatePermissionTypeServiceImpl()
           
 
Method Summary
protected  boolean appDocStatusMatches(Map<String,String> requestedDetails, Map<String,String> permissionDetails)
           
protected  List<Permission> performPermissionMatches(Map<String,String> requestedDetails, List<Permission> permissionsList)
          Permission type service which can check the route node and status as well as the document hierarchy.
protected  boolean routeNodeMatches(Map<String,String> requestedDetails, Map<String,String> permissionDetails)
           
protected  boolean routeStatusMatches(Map<String,String> requestedDetails, Map<String,String> permissionDetails)
           
 
Methods inherited from class org.kuali.rice.krad.kim.DocumentTypePermissionTypeServiceImpl
getDocumentTypeService, getRequiredAttributes, isCheckRequiredAttributes
 
Methods inherited from class org.kuali.rice.kns.kim.permission.PermissionTypeServiceBase
doesPropertyNameMatch, getMatchingPermissions
 
Methods inherited from class org.kuali.rice.kns.kim.type.DataDictionaryTypeServiceBase
areAttributesEqual, extractErrorsFromGlobalVariablesErrorMap, getAttributeDefinitions, getAttributeFormatter, getAttributeMaxValue, getAttributeMinValue, getAttributeValidatingExpression, getAttributeValue, getBusinessObjectService, getClosestParentDocumentTypeName, getDataDictionaryAttributeDefinition, getDataDictionaryService, getDictionaryValidationService, getNonDataDictionaryAttributeDefinition, getTypeInfoService, getUniqueAttributes, getWorkflowDocumentTypeName, getWorkflowRoutingAttributes, performMatch, translateInputAttributes, validateAttributeFormat, validateAttributeRequired, validateAttributes, validateAttributesAgainstExisting, validateDataDictionaryAttribute, validateDataDictionaryAttribute, validateNonDataDictionaryAttribute, validatePrimitiveFromDescriptor, validateReferencesExistAndActive, validateRequiredAttributesAgainstReceived, validateUniqueAttributes, validateUnmodifiableAttributes
 
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.kim.framework.type.KimTypeService
getAttributeDefinitions, getWorkflowDocumentTypeName, getWorkflowRoutingAttributes, validateAttributes, validateAttributesAgainstExisting, validateUniqueAttributes, validateUnmodifiableAttributes
 

Constructor Detail

DocumentTypeAndNodeOrStatePermissionTypeServiceImpl

public DocumentTypeAndNodeOrStatePermissionTypeServiceImpl()
Method Detail

performPermissionMatches

protected List<Permission> performPermissionMatches(Map<String,String> requestedDetails,
                                                    List<Permission> permissionsList)
Permission type service which can check the route node and status as well as the document hierarchy. Permission should be able to (in addition to taking the routingStatus, routingNote, and documentTypeName attributes) should take a documentNumber and retrieve those values from workflow before performing the comparison. consider the document type hierarchy - check for a permission that just specifies the document type first at each level - then if you don't find that, check for the doc type and the node, then the doc type and the state.

Overrides:
performPermissionMatches in class DocumentTypePermissionTypeServiceImpl

routeNodeMatches

protected boolean routeNodeMatches(Map<String,String> requestedDetails,
                                   Map<String,String> permissionDetails)

routeStatusMatches

protected boolean routeStatusMatches(Map<String,String> requestedDetails,
                                     Map<String,String> permissionDetails)

appDocStatusMatches

protected boolean appDocStatusMatches(Map<String,String> requestedDetails,
                                      Map<String,String> permissionDetails)


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