Interface DocumentService


public interface DocumentService
Defines various operations that support the Document framework. The calling code should always use any returned Document object for future operations since a new object will be created if a passed-in document is saved.
Author:
Kuali Rice Team (rice.collab@kuali.org)
  • Method Details

    • documentExists

      boolean documentExists(String documentHeaderId)
      Parameters:
      documentHeaderId -
      Returns:
      true if a document with the given documentHeaderId exists
    • getNewDocument

      Document getNewDocument(String documentTypeName) throws org.kuali.rice.kew.api.exception.WorkflowException
      get a new blank document instance based on the document type name
      Parameters:
      documentTypeName -
      Returns:
      new document instance
      Throws:
      org.kuali.rice.kew.api.exception.WorkflowException
    • getNewDocument

      Document getNewDocument(Class<? extends Document> documentClass) throws org.kuali.rice.kew.api.exception.WorkflowException
      get a new blank document instance having the given Document class
      Parameters:
      documentClass -
      Returns:
      new document instance
      Throws:
      org.kuali.rice.kew.api.exception.WorkflowException
    • getNewDocument

      Document getNewDocument(String documentTypeName, String initiatorPrincipalNm) throws org.kuali.rice.kew.api.exception.WorkflowException
      get a new blank document instance based on the document type name. The principal name passed in will be used as the document initiator.
      Parameters:
      documentTypeName -
      initiatorPrincipalNm -
      Returns:
      new document instance
      Throws:
      org.kuali.rice.kew.api.exception.WorkflowException
    • getByDocumentHeaderId

      Document getByDocumentHeaderId(String documentHeaderId) throws org.kuali.rice.kew.api.exception.WorkflowException
      get a document based on the document header id which is the primary key for all document types
      Parameters:
      documentHeaderId -
      Returns:
      document, by id
      Throws:
      org.kuali.rice.kew.api.exception.WorkflowException
    • getByDocumentHeaderIdSessionless

      Document getByDocumentHeaderIdSessionless(String documentHeaderId) throws org.kuali.rice.kew.api.exception.WorkflowException
      get a document based on the document header id which is the primary key for all document types. Using this method does not require that GlobalVariables.getUserSession() be populated. Therefore, this method can be used when a HTTP request is not being processed (e.g. during workflow indexing/post-processing).
      Parameters:
      documentHeaderId -
      Returns:
      document, by id
      Throws:
      org.kuali.rice.kew.api.exception.WorkflowException
    • getDocumentsByListOfDocumentHeaderIds

      List<Document> getDocumentsByListOfDocumentHeaderIds(Class<? extends Document> documentClass, List<String> documentHeaderIds) throws org.kuali.rice.kew.api.exception.WorkflowException
      This method retrieves a list of fully-populated documents given a list of document header id values.
      Parameters:
      documentClass -
      documentHeaderIds -
      Returns:
      list of fully-populated documents
      Throws:
      org.kuali.rice.kew.api.exception.WorkflowException
    • updateDocument

      Document updateDocument(Document document)
      This method is to allow for documents to be updated. It is currently used to update the document status as well as to allow for locked docs to be unlocked
      Parameters:
      document - the document to be updated
      Returns:
      the updated document
    • saveDocument

      Document saveDocument(Document document) throws org.kuali.rice.kew.api.exception.WorkflowException
      This is a helper method that performs the same as the saveDocument(Document, Class) method. The convenience of this method is that the event being used is the standard SaveDocumentEvent.
      Throws:
      org.kuali.rice.kew.api.exception.WorkflowException
      See Also:
    • saveDocument

      Document saveDocument(Document document, DocumentEvent docEvent) throws org.kuali.rice.kew.api.exception.WorkflowException
      This method saves the given document using the document event passed in.
      Throws:
      org.kuali.rice.kew.api.exception.WorkflowException
      See Also:
    • saveDocument

      Document saveDocument(Document document, Class<? extends DocumentEvent> kualiDocumentEventClass) throws org.kuali.rice.kew.api.exception.WorkflowException
      Saves the passed-in document. This will persist it both to the Kuali database, and also initiate it (if necessary) within workflow, so its available in the initiator's action list. This method uses the passed in DocumentEvent class when saving the document. The DocumentEvent class must implement the SaveEvent interface. Note that the system does not support passing in Workflow Annotations or AdHoc Route Recipients on a SaveDocument call. These are sent to workflow on a routeDocument action, or any of the others which actually causes a routing action to happen in workflow. Also note that this method will not check the document action flags to check if a save is valid The calling code should always use the object returned from this method for future operations since a new object is created when the passed-in document is saved.
      Parameters:
      document - the document to be saved
      kualiDocumentEventClass - the event class to use when saving (class must implement the SaveEvent interface)
      Returns:
      the saved document
      Throws:
      org.kuali.rice.kew.api.exception.WorkflowException
    • routeDocument

      Document routeDocument(Document document, String annotation, List<org.kuali.rice.krad.bo.AdHocRouteRecipient> adHocRoutingRecipients) throws org.kuali.rice.kew.api.exception.WorkflowException
      Save and then route the document, optionally providing an annotation which will show up in the route log of the document for the action taken, and optionally providing a list of ad hoc recipients for the document.
      Parameters:
      document - the document to be routed
      annotation - the annotation to appear in the route log of the document
      adHocRoutingRecipients - list of ad hoc recipients to which the document will be routed
      Returns:
      the saved and routed document
      Throws:
      org.kuali.rice.kew.api.exception.WorkflowException
    • approveDocument

      Document approveDocument(Document document, String annotation, List<org.kuali.rice.krad.bo.AdHocRouteRecipient> adHocRoutingRecipients) throws org.kuali.rice.kew.api.exception.WorkflowException
      Save and then approve the document, optionally providing an annotation which will show up in the route log of the document for the action taken, and optionally providing a list of ad hoc recipients for the document.
      Parameters:
      document - the document to be approved
      annotation - the annotation to appear in the route log of the document
      adHocRoutingRecipients - list of ad hoc recipients to which the document will be routed
      Returns:
      the saved and approved document
      Throws:
      org.kuali.rice.kew.api.exception.WorkflowException
    • superUserApproveDocument

      Document superUserApproveDocument(Document document, String annotation) throws org.kuali.rice.kew.api.exception.WorkflowException
      Save and then approve the document as a super user, optionally providing an annotation which will show up in the route log of the document for the action taken.
      Parameters:
      document - the document to be super user approved
      annotation - the annotation to appear in the route log of the document
      Returns:
      the saved and super user approved document
      Throws:
      org.kuali.rice.kew.api.exception.WorkflowException
    • superUserCancelDocument

      Document superUserCancelDocument(Document document, String annotation) throws org.kuali.rice.kew.api.exception.WorkflowException
      Save and then cancel the document as a super user, optionally providing an annotation which will show up in the route log of the document for the action taken.
      Parameters:
      document - the document to be super user canceled
      annotation - the annotation to appear in the route log of the document
      Returns:
      the saved and super user canceled document
      Throws:
      org.kuali.rice.kew.api.exception.WorkflowException
    • superUserDisapproveDocument

      Document superUserDisapproveDocument(Document document, String annotation) throws org.kuali.rice.kew.api.exception.WorkflowException
      Save and then disapprove the document as a super user, optionally providing an annotation which will show up in the route log of the document for the action taken.
      Parameters:
      document - the document to be super user disapproved
      annotation - the annotation to appear in the route log of the document
      Returns:
      the saved and super user disapproved document
      Throws:
      org.kuali.rice.kew.api.exception.WorkflowException
    • superUserDisapproveDocumentWithoutSaving

      Document superUserDisapproveDocumentWithoutSaving(Document document, String annotation) throws org.kuali.rice.kew.api.exception.WorkflowException
      Disapprove the document as super user, without saving, optionally providing an annotation which will show up in the route log of the document for the action taken.
      Parameters:
      document - the document to be super user disapproved
      annotation - the annotation to appear in the route log of the document
      Returns:
      the super user disapproved document
      Throws:
      org.kuali.rice.kew.api.exception.WorkflowException
    • disapproveDocument

      Document disapproveDocument(Document document, String annotation) throws Exception
      Disapprove the document, without saving, optionally providing an annotation which will show up in the route log of the document for the action taken.
      Parameters:
      document - the document to be disapproved
      annotation - the annotation to appear in the route log of the document
      Returns:
      the disapproved document
      Throws:
      Exception
    • cancelDocument

      Document cancelDocument(Document document, String annotation) throws org.kuali.rice.kew.api.exception.WorkflowException
      Cancel the document, without saving, optionally providing an annotation for the disapproval which will show up in the route log of the document for the action taken.
      Parameters:
      document - the document to be canceled
      annotation - the annotation to appear in the route log of the document
      Returns:
      the canceled document
      Throws:
      org.kuali.rice.kew.api.exception.WorkflowException
    • acknowledgeDocument

      Document acknowledgeDocument(Document document, String annotation, List<org.kuali.rice.krad.bo.AdHocRouteRecipient> adHocRecipients) throws org.kuali.rice.kew.api.exception.WorkflowException
      Acknowledge the document, optionally providing an annotation for the acknowledgement which will show up in the route log of the document, and optionally providing a list of ad hoc recipients for the document. The list of ad hoc recipients for this document should have an action requested of acknowledge or fyi as all other actions requested will be discarded as invalid due to the fact that this action being taken is an acknowledgement.
      Parameters:
      document - the document to be acknowledged
      annotation - the annotation to appear in the route log of the document
      adHocRecipients - list of ad hoc recipients to which the document will be routed
      Returns:
      the acknowledged document
      Throws:
      org.kuali.rice.kew.api.exception.WorkflowException
    • blanketApproveDocument

      Document blanketApproveDocument(Document document, String annotation, List<org.kuali.rice.krad.bo.AdHocRouteRecipient> adHocRecipients) throws org.kuali.rice.kew.api.exception.WorkflowException
      Blanket approve the document which will save the document, approve the document, and stand in for an approve for all typically generated approval actions requested for this document. The user must have blanket approval authority for this document by being registered as a user in the blanket approval workgroup that is associated with this document type. Optionally an annotation can be provided which will show up for the action taken on the document in the route log. Also optionally a list of ad hoc recipients can be provided for the document, which should be restricted to actions requested of acknowledge and fyi as all other actions requested will be discarded.
      Parameters:
      document - the document to be blanket approved
      annotation - the annotation to appear in the route log of the document
      adHocRecipients - list of ad hoc recipients to which the document will be routed
      Returns:
      the saved and blanket approved document
      Throws:
      org.kuali.rice.kew.api.exception.WorkflowException
    • clearDocumentFyi

      Document clearDocumentFyi(Document document, List<org.kuali.rice.krad.bo.AdHocRouteRecipient> adHocRecipients) throws org.kuali.rice.kew.api.exception.WorkflowException
      Clear the fyi requests for the document, optionally providing a list of ad hoc recipients for the document, which should be restricted to action requested of fyi as all other actions requested will be discarded.
      Parameters:
      document - the document to clear of fyi requests
      adHocRecipients - list of ad hoc recipients to which the document will be routed
      Returns:
      the document
      Throws:
      org.kuali.rice.kew.api.exception.WorkflowException
    • prepareWorkflowDocument

      void prepareWorkflowDocument(Document document) throws org.kuali.rice.kew.api.exception.WorkflowException
      Sets the title and app document id in the workflow document
      Parameters:
      document - the document to prepare
      Throws:
      org.kuali.rice.kew.api.exception.WorkflowException
    • createNoteFromDocument

      org.kuali.rice.krad.bo.Note createNoteFromDocument(Document document, String text)
      This method creates a note from the given document and note text. The resulting Note will have it's note type set to the value of Document.getNoteType(). Additionally, it's remoteObjectId will be set to the object id of the document's note target.
      Parameters:
      document - the document from which to use the note type and note target when creating the note
      text - the text value to include in the resulting note
      Returns:
      the note that was created
    • saveDocumentNotes

      boolean saveDocumentNotes(Document document)
      Saves the notes associated with the given document if they are in a state where they can be saved. In certain cases they may not be ready to be saved. For example, in maintenance documents where the notes are associated with the business object instead of the document header, the notes cannot be saved until the business object itself has been persisted.
      Parameters:
      document - the document for which to save notes
      Returns:
      true if the notes were saved, false if they were not
    • sendAdHocRequests

      Document sendAdHocRequests(Document document, String annotation, List<org.kuali.rice.krad.bo.AdHocRouteRecipient> adHocRecipients) throws org.kuali.rice.kew.api.exception.WorkflowException
      Send ad hoc requests for the given document, optionally providing an annotation which will show up in the route log of the document. Also optionally providing a list of ad hoc recipients for the document. However if no ad hoc recipients are provided, no ad hoc requests will be sent.
      Parameters:
      document - the document for which the ad hoc requests are sent
      annotation - the annotation to appear in the route log of the document
      adHocRecipients - list of ad hoc recipients to which the document will be routed
      Returns:
      the document
      Throws:
      org.kuali.rice.kew.api.exception.WorkflowException
    • sendAdHocRequests

      Document sendAdHocRequests(Document document, String annotation, String nodeName, List<org.kuali.rice.krad.bo.AdHocRouteRecipient> adHocRecipients) throws org.kuali.rice.kew.api.exception.WorkflowException
      Send ad hoc requests for the given document to the specified node name, optionally providing an annotation which will show up in the route log of the document. Also optionally providing a list of ad hoc recipients for the document. However if no ad hoc recipients are provided, no ad hoc requests will be sent.
      Parameters:
      document - the document for which the ad hoc requests are sent
      annotation - the annotation to appear in the route log of the document
      nodeName - the name of the node to attach the adhoc requests to
      adHocRecipients - list of ad hoc recipients to which the document will be routed
      Returns:
      the document
      Throws:
      org.kuali.rice.kew.api.exception.WorkflowException
    • sendNoteRouteNotification

      Document sendNoteRouteNotification(Document document, org.kuali.rice.krad.bo.Note note, org.kuali.rice.kim.api.identity.Person sender) throws org.kuali.rice.kew.api.exception.WorkflowException
      Builds an workflow notification request for the note and sends it to note recipient.
      Parameters:
      document - - document that contains the note
      note - - note to notify
      sender - - user who is sending the notification
      Returns:
      the document
      Throws:
      org.kuali.rice.kew.api.exception.WorkflowException
    • recallDocument

      Document recallDocument(Document document, String annotation, boolean cancel) throws org.kuali.rice.kew.api.exception.WorkflowException
      Recall the document, optionally providing an annotation for the recall which will show up in the route log of the document for the action taken.
      Parameters:
      document - the document to recall
      annotation - the annotation to appear in the route log of the document
      cancel - indicates if the document should be canceled as part of the recall
      Returns:
      the recalled document
      Throws:
      org.kuali.rice.kew.api.exception.WorkflowException
      Since:
      2.1, 2.1
    • completeDocument

      Document completeDocument(Document document, String annotation, List adHocRecipients) throws org.kuali.rice.kew.api.exception.WorkflowException
      Save and then complete the document, optionally providing an annotation which will show up in the route log of the document for the action taken, and optionally providing a list of ad hoc recipients for the document
      Parameters:
      document - the document to complete
      annotation - the annotation to appear in the route log of the document
      adHocRecipients - list of ad hoc recipients to which the document will be routed
      Returns:
      the saved and completed document
      Throws:
      org.kuali.rice.kew.api.exception.WorkflowException
    • validateAndPersistDocument

      Document validateAndPersistDocument(Document document, DocumentEvent event) throws org.kuali.rice.krad.exception.ValidationException
      Helper method used to save and validate a document
      Parameters:
      document - document to be validated and persisted
      event - indicates which kualiDocumentEvent was requested
      Returns:
      the saved document
      Throws:
      org.kuali.rice.krad.exception.ValidationException
    • routeDocument

      Document routeDocument(Document document, String annotation, String nodeName, List<org.kuali.rice.krad.bo.AdHocRouteRecipient> adHocRouteRecipients) throws org.kuali.rice.kew.api.exception.WorkflowException
      Throws:
      org.kuali.rice.kew.api.exception.WorkflowException
    • blanketApproveDocument

      Document blanketApproveDocument(Document document, String annotation, String nodeName, List<org.kuali.rice.krad.bo.AdHocRouteRecipient> adHocRouteRecipients) throws org.kuali.rice.kew.api.exception.WorkflowException
      Throws:
      org.kuali.rice.kew.api.exception.WorkflowException
    • approveDocument

      Document approveDocument(Document document, String annotation, String nodeName, List<org.kuali.rice.krad.bo.AdHocRouteRecipient> adHocRouteRecipients) throws org.kuali.rice.kew.api.exception.WorkflowException
      Throws:
      org.kuali.rice.kew.api.exception.WorkflowException
    • clearDocumentFyi

      Document clearDocumentFyi(Document document, String nodeName, List<org.kuali.rice.krad.bo.AdHocRouteRecipient> adHocRouteRecipients) throws org.kuali.rice.kew.api.exception.WorkflowException
      Throws:
      org.kuali.rice.kew.api.exception.WorkflowException
    • acknowledgeDocument

      Document acknowledgeDocument(Document document, String annotation, String nodeName, List<org.kuali.rice.krad.bo.AdHocRouteRecipient> adHocRouteRecipients) throws org.kuali.rice.kew.api.exception.WorkflowException
      Throws:
      org.kuali.rice.kew.api.exception.WorkflowException
    • completeDocument

      Document completeDocument(Document document, String annotation, String nodeName, List<org.kuali.rice.krad.bo.AdHocRouteRecipient> adHocRouteRecipients) throws org.kuali.rice.kew.api.exception.WorkflowException
      Throws:
      org.kuali.rice.kew.api.exception.WorkflowException