Interface AttachmentService


public interface AttachmentService
Defines the methods common to all AttachmentService implementations
Author:
Kuali Rice Team (rice.collab@kuali.org)
  • Method Details

    • createAttachment

      Attachment createAttachment(org.kuali.rice.core.api.mo.common.GloballyUnique parent, String uploadedFileName, String mimeType, int fileSize, InputStream fileContents, String attachmentType) throws IOException
      Stores the given fileContents and returns referring Attachment object which acts as a momento to the archived object.
      Parameters:
      parent - - the document to which the attachment belongs
      uploadedFileName - - the name of the uploaded file
      mimeType - - the uploaded file's mime type
      fileSize - - the size of the uploaded file in bytes
      fileContents - - an input stream used to read the file's contents
      attachmentType - -the attachment type code
      Returns:
      Attachment - the attachment, having been written to the file system
      Throws:
      IOException
    • retrieveAttachmentContents

      InputStream retrieveAttachmentContents(Attachment attachment) throws IOException
      Retrieves a given Attachments contents from the corresponding Attachment object
      Parameters:
      attachment - - the attachment whose contents are to be retrieved
      Returns:
      OutputStream
      Throws:
      IOException
    • deleteAttachmentContents

      void deleteAttachmentContents(Attachment attachment)
      Deletes a given DocumentAttachment contents from the corresponding Attachment object
      Parameters:
      attachment - - the attachment whose contents are to be deleted
    • moveAttachmentWherePending

      void moveAttachmentWherePending(Note note)
      Moves attachments on notes from the pending directory to the real one
      Parameters:
      note - the Note from which to move attachments. If this Note does not have an attachment then this method does nothing.
      Throws:
      IllegalArgumentException - if the given Note is null
      IllegalArgumentException - if the Note does not have a valid object id
    • deletePendingAttachmentsModifiedBefore

      void deletePendingAttachmentsModifiedBefore(long modificationTime)
      Deletes pending attachments that were last modified before the given time. Java does not have easy access to a file's creation time, so we use modification time instead.
      Parameters:
      modificationTime - the number of milliseconds since "the epoch" (i.e.January 1, 1970, 00:00:00 GMT). java.util.Date and java.util.Calendar's methods return time in this format. If a pending attachment was modified before this time, then it will be deleted (unless an error occurs)
    • getAttachmentByNoteId

      Attachment getAttachmentByNoteId(Long noteId)