org.kuali.rice.krad.service
Interface MaintenanceDocumentService

All Known Implementing Classes:
MaintenanceDocumentServiceImpl

public interface MaintenanceDocumentService

Provides methods for working with MaintenanceDocument(s)

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

Method Summary
 void deleteLocks(String documentNumber)
          Call the same-named method in the Dao, since the service has access to the Dao, but the caller doesn't.
 String getLockingDocumentId(Maintainable maintainable, String documentNumber)
          Attempts to find any other active documents that are pending on the same maintenance record.
 String getLockingDocumentId(MaintenanceDocument document)
          Attempts to find any other active documents that are pending on the same maintenance record.
 void setupMaintenanceObject(MaintenanceDocument document, String maintenanceAction, Map<String,String[]> requestParameters)
          Called to setup the object being maintained
 MaintenanceDocument setupNewMaintenanceDocument(String objectClassName, String docTypeName, String maintenanceAction)
          Prepares the MaintenanceDocument on initial request
 void storeLocks(List<MaintenanceLock> maintenanceLocks)
          Call the same-named method in the Dao, since the service has access to the Dao, but the caller doesn't.
 

Method Detail

setupNewMaintenanceDocument

MaintenanceDocument setupNewMaintenanceDocument(String objectClassName,
                                                String docTypeName,
                                                String maintenanceAction)
Prepares the MaintenanceDocument on initial request

This includes retrieving the data object for edit or copy, clearing fields

Parameters:
objectClassName - - class name for the object being maintained
docTypeName - - workflow doc type for the maintenance document requested
maintenanceAction - - indicates whether this is a new, copy, or edit maintenance action
Returns:
MaintenanceDocument prepared document instance

setupMaintenanceObject

void setupMaintenanceObject(MaintenanceDocument document,
                            String maintenanceAction,
                            Map<String,String[]> requestParameters)
Called to setup the object being maintained

For edit and copy actions, the old record is retrieved and prepared for editing (in the case of a copy some fields are cleared). In addition some authorization checks are performed and hooks for custom Maintainble implementations are invoked.

Parameters:
document - - document instance for the maintenance object
maintenanceAction - - the requested maintenance action (new, new with existing, copy, edit)
requestParameters - - Map of parameters from the request

getLockingDocumentId

String getLockingDocumentId(MaintenanceDocument document)
Attempts to find any other active documents that are pending on the same maintenance record. If any are pending and locked, thereby blocking this document, then the docHeaderId/documentNumber of the blocking locked document is returned. Otherwise, if nothing is blocking, then null is returned.

Parameters:
document - - document to test
Returns:
A String representing the docHeaderId of any blocking document, or null if none are blocking

getLockingDocumentId

String getLockingDocumentId(Maintainable maintainable,
                            String documentNumber)
Attempts to find any other active documents that are pending on the same maintenance record. If any are pending and locked, thereby blocking this document, then the docHeaderId/documentNumber of the blocking locked document is returned. Otherwise, if nothing is blocking, then null is returned.

Parameters:
maintainable - - maintainable representing the document to test
documentNumber - - the documentNumber/docHeaderId of the document to test
Returns:
A String representing the docHeaderId of any blocking document, or null if none are blocking

deleteLocks

void deleteLocks(String documentNumber)
Call the same-named method in the Dao, since the service has access to the Dao, but the caller doesn't. This method deletes the locks for the given document number. It is called when the document is final, thus it can be unlocked, or when the locks need to be regenerated (thus they get cleared first).

Parameters:
documentNumber - - document number whose locks should be deleted

storeLocks

void storeLocks(List<MaintenanceLock> maintenanceLocks)
Call the same-named method in the Dao, since the service has access to the Dao, but the caller doesn't. This method stores the given list of maintenance locks. Typically these will all be for the same document.

Parameters:
maintenanceLocks - - the list of maintenance locks to be stored


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