Interface AttachmentService

  • All Known Implementing Classes:
    AttachmentServiceImpl

    @ExperimentalApi
    public interface AttachmentService
    Provides methods for creating, reading, updating and deleting Confluence Attachment Content objects.
    Since:
    5.5
    • Method Detail

      • 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

        AttachmentService.AttachmentFinder find​(Expansion... expansions)
        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
      • 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

        AttachmentService.Validator validator()
        Provides a validator for validating actions on the AttachmentService and checking permissions related to attachments on Content
        Returns:
        an attachmentService Validator
      • 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