Interface AttachmentService

All Known Implementing Classes:
AttachmentServiceImpl

public interface AttachmentService
Provides methods for creating, reading, updating and deleting Confluence Attachment Content objects.
Since:
5.5
  • Field Details

    • COMMENT_METADATA_KEY

      static final String COMMENT_METADATA_KEY
      Attachment Comments are stored in the Content metadata as the "comment" entry.
      See Also:
    • MEDIA_TYPE_METADATA_KEY

      static final String MEDIA_TYPE_METADATA_KEY
      Attachment Media Type is stored in the Content metadata as the "mediaType" entry.
      See Also:
    • LABELS_METADATA_KEY

      static final String LABELS_METADATA_KEY
      Attachment Labels is stored in the Content metadata as the "labels" entry.
      See Also:
    • FILE_SIZE

      static final String FILE_SIZE
      Attachment file size is stored in the Content as the "fileSize" extension property.
      See Also:
  • Method Details

    • addAttachments

      PageResponse<Content> addAttachments(ContentId containerId, Collection<AttachmentUpload> uploads) throws ServiceException
      Add one or more attachments to a piece of Content.
      Parameters:
      containerId - the id of the content to attach to
      uploads - the attachments being uploaded
      Returns:
      the attachments added
      Throws:
      ServiceException
    • addAttachments

      PageResponse<Content> addAttachments(ContentId containerId, ContentStatus containerStatus, Collection<AttachmentUpload> uploads) throws ServiceException
      Add one or more attachments to a piece of Content.
      Parameters:
      containerId - the id of the content to attach to
      containerStatus - the status of the container, specifically allows adding attachments to drafts
      uploads - the attachments being uploaded
      Returns:
      the attachments added
      Throws:
      ServiceException
    • addAttachments

      PageResponse<Content> addAttachments(ContentId containerId, ContentStatus containerStatus, Collection<AttachmentUpload> uploads, boolean allowDuplicated, Expansions expansions) throws ServiceException
      Add one or more attachments to a piece of Content.
      Parameters:
      containerId - the id of the content to attach to
      containerStatus - the status of the container, specifically allows adding attachments to drafts
      uploads - the attachments being uploaded
      expansions - the expansions to apply to the values returned after uploaded
      Returns:
      the attachments added
      Throws:
      ServiceException
    • find

      Creates an attachment finder for locating attachments.

      Currently an attachment finder requires a Content container id, unless the attachment is being requested by its id via the "withId" method.

      For example, to locate an attachment in a given page with a particular filename:

       
      
       Content attachment = attachmentService.find()
            .withContainerId(pageId)
            .withFilename("myfile.txt")
            .fetchOneOrNull();
       
       
      Parameters:
      expansions - the expansions to apply to the values returned from a fetch
      Returns:
      an AttachmentFinder
    • removeAttachment

      void removeAttachment(ContentId contentId, ContentId attachmentId) throws ServiceException
      Trashes an attachment by attachmentId
      Parameters:
      attachmentId - the id of the attachment to trash
      Throws:
      ServiceException - if the attachment cannot be found, or cannot be deleted
      Since:
      8.9.0
    • removeAttachmentVersion

      void removeAttachmentVersion(ContentId contentId, ContentId attachmentId, int version)
      removes a version of an attachment from page by attachmentId and version
      Parameters:
      contentId - the id of the page to remove the attachment from
      attachmentId - the id of the attachment to remove
      version - the version of the attachment to remove
      Throws:
      ServiceException - if the attachment cannot be found, or cannot be deleted
      Since:
      8.9.0
    • update

      Content update(Content attachment) throws ServiceException
      Updates the non-data parts of an Attachment Content instance.

      This method can be used to update the container, filename, media-type and comment of an Attachment.

      Parameters:
      attachment - the attachment to update, must include an id
      Returns:
      the updated attachment as stored in the database
      Throws:
      ServiceException
    • updateData

      Content updateData(ContentId attachmentId, AttachmentUpload upload) throws ServiceException
      Updates the data part of an Attachment Content instance.
      Parameters:
      attachmentId - the id of the attachment to update
      upload - the new content of the Attachment
      Returns:
      the updated attachment as stored in the database
      Throws:
      ServiceException
    • validator

      Provides a validator for validating actions on the AttachmentService and checking permissions related to attachments on Content
      Returns:
      an attachmentService Validator
    • moveAttachment

      void moveAttachment(ContentId attachmentId, ContentId contentId, ContentId newContentId, String newName) throws ServiceException
      Move an attachment to a different content entity object and/or give it a new name.
      Parameters:
      attachmentId - ID for the attachment to be moved.
      contentId - ID for the new content entity object that attachment is on.
      newContentId - ID for the new content entity object that attachment should be on.
      newName - Name of the new attachment (if being changed).
      Throws:
      ServiceException
      Since:
      8.9.0
    • delete

      void delete(Content attachment) throws ServiceException
      Moves an Attachment to trash. Before Confluence 5.8 this used to remove the attachment without trashing it.
      Parameters:
      attachment - the content to trash
      Throws:
      ServiceException - if the content cannot be found, or cannot be deleted