Interface ChangeEditApi

All Known Implementing Classes:
ChangeEditApi.NotImplemented

public interface ChangeEditApi
An API for the change edit of a change. A change edit is similar to a patch set and will become one if it is published (by publish(PublishChangeEditInput)). Whenever the descriptions below refer to files of a change edit, they actually refer to the files of the Git tree which is represented by the change edit. A change can have at most one change edit at each point in time.
  • Method Details

    • detail

      Throws:
      RestApiException
    • get

      Retrieves details regarding the change edit.
      Returns:
      an Optional containing details about the change edit if it exists, or Optional.empty()
      Throws:
      RestApiException - if the change edit couldn't be retrieved
    • create

      void create() throws RestApiException
      Creates a new change edit. It has exactly the same Git tree as the current patch set of the change.
      Throws:
      RestApiException - if the change edit couldn't be created or a change edit already exists
    • delete

      void delete() throws RestApiException
      Deletes the change edit.
      Throws:
      RestApiException - if the change edit couldn't be deleted or a change edit wasn't present
    • rebase

      void rebase() throws RestApiException
      Rebases the change edit on top of the latest patch set of this change.
      Throws:
      RestApiException - if the change edit couldn't be rebased or a change edit wasn't present
    • publish

      void publish() throws RestApiException
      Publishes the change edit using default settings. See publish(PublishChangeEditInput) for more details.
      Throws:
      RestApiException - if the change edit couldn't be published or a change edit wasn't present
    • publish

      void publish(PublishChangeEditInput publishChangeEditInput) throws RestApiException
      Publishes the change edit. Publishing means that the change edit is turned into a regular patch set of the change.
      Parameters:
      publishChangeEditInput - a PublishChangeEditInput specifying the options which should be applied
      Throws:
      RestApiException - if the change edit couldn't be published or a change edit wasn't present
    • getFile

      Optional<BinaryResult> getFile(String filePath) throws RestApiException
      Retrieves the contents of the specified file from the change edit.
      Parameters:
      filePath - the path of the file
      Returns:
      an Optional containing the contents of the file as a BinaryResult if the file exists within the change edit, or Optional.empty()
      Throws:
      RestApiException - if the contents of the file couldn't be retrieved or a change edit wasn't present
    • renameFile

      void renameFile(String oldFilePath, String newFilePath) throws RestApiException
      Renames a file of the change edit or moves the file to another directory. If the change edit doesn't exist, it will be created based on the current patch set of the change.
      Parameters:
      oldFilePath - the current file path
      newFilePath - the desired file path
      Throws:
      RestApiException - if the file couldn't be renamed
    • restoreFile

      void restoreFile(String filePath) throws RestApiException
      Restores a file of the change edit to the state in which it was before the patch set on which the change edit is based. This includes the file content as well as the existence or non-existence of the file. If the change edit doesn't exist, it will be created based on the current patch set of the change.
      Parameters:
      filePath - the path of the file
      Throws:
      RestApiException - if the file couldn't be restored to its previous state
    • modifyFile

      default void modifyFile(String filePath, RawInput newContent) throws RestApiException
      Modify the contents of the specified file of the change edit. If no content is provided, the content of the file is erased but the file isn't deleted. If the change edit doesn't exist, it will be created based on the current patch set of the change.
      Parameters:
      filePath - the path of the file which should be modified
      newContent - the desired content of the file
      Throws:
      RestApiException - if the content of the file couldn't be modified
    • modifyFile

      void modifyFile(String filePath, FileContentInput input) throws RestApiException
      Modify the contents of the specified file of the change edit. If no content is provided, the content of the file is erased but the file isn't deleted. If the change edit doesn't exist, it will be created based on the current patch set of the change.
      Parameters:
      filePath - the path of the file which should be modified
      input - the desired content of the file
      Throws:
      RestApiException - if the content of the file couldn't be modified
    • deleteFile

      void deleteFile(String filePath) throws RestApiException
      Deletes the specified file from the change edit. If the change edit doesn't exist, it will be created based on the current patch set of the change.
      Parameters:
      filePath - the path fo the file which should be deleted
      Throws:
      RestApiException - if the file couldn't be deleted
    • getCommitMessage

      String getCommitMessage() throws RestApiException
      Retrieves the commit message of the change edit.
      Returns:
      the commit message of the change edit
      Throws:
      RestApiException - if the commit message couldn't be retrieved or a change edit wasn't present
    • modifyCommitMessage

      void modifyCommitMessage(String newCommitMessage) throws RestApiException
      Modifies the commit message of the change edit. If the change edit doesn't exist, it will be created based on the current patch set of the change.
      Parameters:
      newCommitMessage - the desired commit message
      Throws:
      RestApiException - if the commit message couldn't be modified