Interface TreeApi

  • All Known Subinterfaces:
    HttpTreeApi

    public interface TreeApi
    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      void assignBranch​(@Valid @NotNull @Pattern(regexp="^[A-Za-z](((?![.][.])[A-Za-z0-9./_-])*[A-Za-z0-9._-])?$",message="Reference name must start with a letter, followed by letters, digits, a ./_- character, not end with a slash, not contain ..") String branchName, @Valid @NotNull @Pattern(regexp="^[0-9a-fA-F]{16,64}$",message="Hash must consist of the hex representation of 8-32 bytes") String oldHash, @Valid @NotNull Reference assignTo)
      Update a branch.
      void assignTag​(@Valid @NotNull @Pattern(regexp="^[A-Za-z](((?![.][.])[A-Za-z0-9./_-])*[A-Za-z0-9._-])?$",message="Reference name must start with a letter, followed by letters, digits, a ./_- character, not end with a slash, not contain ..") String tagName, @Valid @NotNull @Pattern(regexp="^[0-9a-fA-F]{16,64}$",message="Hash must consist of the hex representation of 8-32 bytes") String oldHash, @Valid @NotNull Reference assignTo)
      Update a tag.
      Branch commitMultipleOperations​(@Valid @NotNull @Pattern(regexp="^[A-Za-z](((?![.][.])[A-Za-z0-9./_-])*[A-Za-z0-9._-])?$",message="Reference name must start with a letter, followed by letters, digits, a ./_- character, not end with a slash, not contain ..") String branchName, @Valid @NotNull @Pattern(regexp="^[0-9a-fA-F]{16,64}$",message="Hash must consist of the hex representation of 8-32 bytes") String hash, @Valid @NotNull Operations operations)
      Commit multiple operations against the given branch expecting that branch to have the given hash as its latest commit.
      Reference createReference​(@Valid @Pattern(regexp="^[A-Za-z](((?![.][.])[A-Za-z0-9./_-])*[A-Za-z0-9._-])?$",message="Reference name must start with a letter, followed by letters, digits, a ./_- character, not end with a slash, not contain ..") String sourceRefName, @Valid @NotNull Reference reference)
      Create a new reference.
      void deleteBranch​(@Valid @NotNull @Pattern(regexp="^[A-Za-z](((?![.][.])[A-Za-z0-9./_-])*[A-Za-z0-9._-])?$",message="Reference name must start with a letter, followed by letters, digits, a ./_- character, not end with a slash, not contain ..") String branchName, @Valid @NotNull @Pattern(regexp="^[0-9a-fA-F]{16,64}$",message="Hash must consist of the hex representation of 8-32 bytes") String hash)
      Delete a branch.
      void deleteTag​(@Valid @NotNull @Pattern(regexp="^[A-Za-z](((?![.][.])[A-Za-z0-9./_-])*[A-Za-z0-9._-])?$",message="Reference name must start with a letter, followed by letters, digits, a ./_- character, not end with a slash, not contain ..") String tagName, @Valid @Pattern(regexp="^[0-9a-fA-F]{16,64}$",message="Hash must consist of the hex representation of 8-32 bytes") String hash)
      Delete a tag.
      List<Reference> getAllReferences()
      Get all references.
      LogResponse getCommitLog​(@Valid @NotNull @Pattern(regexp="^[A-Za-z](((?![.][.])[A-Za-z0-9./_-])*[A-Za-z0-9._-])?$",message="Reference name must start with a letter, followed by letters, digits, a ./_- character, not end with a slash, not contain ..") String ref, @Valid @NotNull CommitLogParams params)
      Retrieve the commit log for a ref, potentially truncated by the backend.
      Branch getDefaultBranch()
      Get details for the default reference.
      EntriesResponse getEntries​(@Valid @NotNull @Pattern(regexp="^[A-Za-z](((?![.][.])[A-Za-z0-9./_-])*[A-Za-z0-9._-])?$",message="Reference name must start with a letter, followed by letters, digits, a ./_- character, not end with a slash, not contain ..") String refName, @Valid @NotNull EntriesParams params)
      Retrieve objects for a ref, potentially truncated by the backend.
      Reference getReferenceByName​(@Valid @NotNull @Pattern(regexp="^(([0-9a-fA-F]{16,64})|([A-Za-z](((?![.][.])[A-Za-z0-9./_-])*[A-Za-z0-9._-])?))$",message="Reference must be either a reference name or hash, start with a letter, followed by letters, digits, a ./_- character, not end with a slash, not contain .. or consist of the hex representation of 8-32 bytes") String refName)
      Get details of a particular ref, if it exists.
      void mergeRefIntoBranch​(@Valid @NotNull @Pattern(regexp="^[A-Za-z](((?![.][.])[A-Za-z0-9./_-])*[A-Za-z0-9._-])?$",message="Reference name must start with a letter, followed by letters, digits, a ./_- character, not end with a slash, not contain ..") String branchName, @Valid @NotNull @Pattern(regexp="^[0-9a-fA-F]{16,64}$",message="Hash must consist of the hex representation of 8-32 bytes") String hash, @Valid @NotNull Merge merge)
      merge mergeRef onto ref.
      void transplantCommitsIntoBranch​(@Valid @NotNull @Pattern(regexp="^[A-Za-z](((?![.][.])[A-Za-z0-9./_-])*[A-Za-z0-9._-])?$",message="Reference name must start with a letter, followed by letters, digits, a ./_- character, not end with a slash, not contain ..") String branchName, @Valid @NotNull @Pattern(regexp="^[0-9a-fA-F]{16,64}$",message="Hash must consist of the hex representation of 8-32 bytes") String hash, @Valid String message, @Valid Transplant transplant)
      cherry pick a set of commits into a branch.
    • Method Detail

      • getAllReferences

        List<Reference> getAllReferences()
        Get all references.
      • createReference

        Reference createReference​(@Valid @Nullable @Pattern(regexp="^[A-Za-z](((?![.][.])[A-Za-z0-9./_-])*[A-Za-z0-9._-])?$",message="Reference name must start with a letter, followed by letters, digits, a ./_- character, not end with a slash, not contain ..")
                                  @Valid @Pattern(regexp="^[A-Za-z](((?![.][.])[A-Za-z0-9./_-])*[A-Za-z0-9._-])?$",message="Reference name must start with a letter, followed by letters, digits, a ./_- character, not end with a slash, not contain ..") String sourceRefName,
                                  @Valid @NotNull
                                  @Valid @NotNull Reference reference)
                           throws NessieNotFoundException,
                                  NessieConflictException
        Create a new reference.

        The type of reference, which can be either a Branch or Tag, determines the type of the reference to be created.

        Reference.getName() defines the the name of the reference to be created, Reference.getHash() is the hash of the created reference, the HEAD of the created reference. sourceRefName is the name of the reference which contains Reference.getHash(), and must be present if Reference.getHash() is present.

        Specifying no Reference.getHash() means that the new reference will be created "at the beginning of time".

        Throws:
        NessieNotFoundException
        NessieConflictException
      • getReferenceByName

        Reference getReferenceByName​(@Valid @NotNull @Pattern(regexp="^(([0-9a-fA-F]{16,64})|([A-Za-z](((?![.][.])[A-Za-z0-9./_-])*[A-Za-z0-9._-])?))$",message="Reference must be either a reference name or hash, start with a letter, followed by letters, digits, a ./_- character, not end with a slash, not contain .. or consist of the hex representation of 8-32 bytes")
                                     @Valid @NotNull @Pattern(regexp="^(([0-9a-fA-F]{16,64})|([A-Za-z](((?![.][.])[A-Za-z0-9./_-])*[A-Za-z0-9._-])?))$",message="Reference must be either a reference name or hash, start with a letter, followed by letters, digits, a ./_- character, not end with a slash, not contain .. or consist of the hex representation of 8-32 bytes") String refName)
                              throws NessieNotFoundException
        Get details of a particular ref, if it exists.
        Throws:
        NessieNotFoundException
      • getEntries

        EntriesResponse getEntries​(@Valid @NotNull @Pattern(regexp="^[A-Za-z](((?![.][.])[A-Za-z0-9./_-])*[A-Za-z0-9._-])?$",message="Reference name must start with a letter, followed by letters, digits, a ./_- character, not end with a slash, not contain ..")
                                   @Valid @NotNull @Pattern(regexp="^[A-Za-z](((?![.][.])[A-Za-z0-9./_-])*[A-Za-z0-9._-])?$",message="Reference name must start with a letter, followed by letters, digits, a ./_- character, not end with a slash, not contain ..") String refName,
                                   @Valid @NotNull
                                   @Valid @NotNull EntriesParams params)
                            throws NessieNotFoundException
        Retrieve objects for a ref, potentially truncated by the backend.

        Retrieves up to maxRecords objects for the given named reference (tag or branch). The backend may respect the given max records hint, but return less or more entries. Backends may also cap the returned entries at a hard-coded limit, the default REST server implementation has such a hard-coded limit.

        Invoking getEntries() does not guarantee to return all commit log entries of a given reference, because the result can be truncated by the backend.

        To implement paging, check EntriesResponse.isHasMore() and, if true, pass the value of EntriesResponse.getToken() in the next invocation of getEntries() as the pageToken parameter.

        See org.projectnessie.client.StreamingUtil in nessie-client.

        Throws:
        NessieNotFoundException
      • getCommitLog

        LogResponse getCommitLog​(@Valid @NotNull @Pattern(regexp="^[A-Za-z](((?![.][.])[A-Za-z0-9./_-])*[A-Za-z0-9._-])?$",message="Reference name must start with a letter, followed by letters, digits, a ./_- character, not end with a slash, not contain ..")
                                 @Valid @NotNull @Pattern(regexp="^[A-Za-z](((?![.][.])[A-Za-z0-9./_-])*[A-Za-z0-9._-])?$",message="Reference name must start with a letter, followed by letters, digits, a ./_- character, not end with a slash, not contain ..") String ref,
                                 @Valid @NotNull
                                 @Valid @NotNull CommitLogParams params)
                          throws NessieNotFoundException
        Retrieve the commit log for a ref, potentially truncated by the backend.

        Retrieves up to maxRecords commit-log-entries starting at the HEAD of the given named reference (tag or branch). The backend may respect the given max records hint, but return less or more entries. Backends may also cap the returned entries at a hard-coded limit, the default REST server implementation has such a hard-coded limit.

        Invoking getCommitLog() does not guarantee to return all commit log entries of a given reference, because the result can be truncated by the backend.

        To implement paging, check LogResponse.isHasMore() and, if true, pass the value of LogResponse.getToken() in the next invocation of getCommitLog() as the pageToken parameter.

        See org.projectnessie.client.StreamingUtil in nessie-client.

        Throws:
        NessieNotFoundException
      • assignTag

        void assignTag​(@Valid @NotNull @Pattern(regexp="^[A-Za-z](((?![.][.])[A-Za-z0-9./_-])*[A-Za-z0-9._-])?$",message="Reference name must start with a letter, followed by letters, digits, a ./_- character, not end with a slash, not contain ..")
                       @Valid @NotNull @Pattern(regexp="^[A-Za-z](((?![.][.])[A-Za-z0-9./_-])*[A-Za-z0-9._-])?$",message="Reference name must start with a letter, followed by letters, digits, a ./_- character, not end with a slash, not contain ..") String tagName,
                       @Valid @NotNull @Pattern(regexp="^[0-9a-fA-F]{16,64}$",message="Hash must consist of the hex representation of 8-32 bytes")
                       @Valid @NotNull @Pattern(regexp="^[0-9a-fA-F]{16,64}$",message="Hash must consist of the hex representation of 8-32 bytes") String oldHash,
                       @Valid @NotNull
                       @Valid @NotNull Reference assignTo)
                throws NessieNotFoundException,
                       NessieConflictException
        Update a tag.
        Throws:
        NessieNotFoundException
        NessieConflictException
      • deleteTag

        void deleteTag​(@Valid @NotNull @Pattern(regexp="^[A-Za-z](((?![.][.])[A-Za-z0-9./_-])*[A-Za-z0-9._-])?$",message="Reference name must start with a letter, followed by letters, digits, a ./_- character, not end with a slash, not contain ..")
                       @Valid @NotNull @Pattern(regexp="^[A-Za-z](((?![.][.])[A-Za-z0-9./_-])*[A-Za-z0-9._-])?$",message="Reference name must start with a letter, followed by letters, digits, a ./_- character, not end with a slash, not contain ..") String tagName,
                       @Valid @Pattern(regexp="^[0-9a-fA-F]{16,64}$",message="Hash must consist of the hex representation of 8-32 bytes")
                       @Valid @Pattern(regexp="^[0-9a-fA-F]{16,64}$",message="Hash must consist of the hex representation of 8-32 bytes") String hash)
                throws NessieConflictException,
                       NessieNotFoundException
        Delete a tag.
        Throws:
        NessieConflictException
        NessieNotFoundException
      • assignBranch

        void assignBranch​(@Valid @NotNull @Pattern(regexp="^[A-Za-z](((?![.][.])[A-Za-z0-9./_-])*[A-Za-z0-9._-])?$",message="Reference name must start with a letter, followed by letters, digits, a ./_- character, not end with a slash, not contain ..")
                          @Valid @NotNull @Pattern(regexp="^[A-Za-z](((?![.][.])[A-Za-z0-9./_-])*[A-Za-z0-9._-])?$",message="Reference name must start with a letter, followed by letters, digits, a ./_- character, not end with a slash, not contain ..") String branchName,
                          @Valid @NotNull @Pattern(regexp="^[0-9a-fA-F]{16,64}$",message="Hash must consist of the hex representation of 8-32 bytes")
                          @Valid @NotNull @Pattern(regexp="^[0-9a-fA-F]{16,64}$",message="Hash must consist of the hex representation of 8-32 bytes") String oldHash,
                          @Valid @NotNull
                          @Valid @NotNull Reference assignTo)
                   throws NessieNotFoundException,
                          NessieConflictException
        Update a branch.
        Throws:
        NessieNotFoundException
        NessieConflictException
      • deleteBranch

        void deleteBranch​(@Valid @NotNull @Pattern(regexp="^[A-Za-z](((?![.][.])[A-Za-z0-9./_-])*[A-Za-z0-9._-])?$",message="Reference name must start with a letter, followed by letters, digits, a ./_- character, not end with a slash, not contain ..")
                          @Valid @NotNull @Pattern(regexp="^[A-Za-z](((?![.][.])[A-Za-z0-9./_-])*[A-Za-z0-9._-])?$",message="Reference name must start with a letter, followed by letters, digits, a ./_- character, not end with a slash, not contain ..") String branchName,
                          @Valid @NotNull @Pattern(regexp="^[0-9a-fA-F]{16,64}$",message="Hash must consist of the hex representation of 8-32 bytes")
                          @Valid @NotNull @Pattern(regexp="^[0-9a-fA-F]{16,64}$",message="Hash must consist of the hex representation of 8-32 bytes") String hash)
                   throws NessieConflictException,
                          NessieNotFoundException
        Delete a branch.
        Throws:
        NessieConflictException
        NessieNotFoundException
      • transplantCommitsIntoBranch

        void transplantCommitsIntoBranch​(@Valid @NotNull @Pattern(regexp="^[A-Za-z](((?![.][.])[A-Za-z0-9./_-])*[A-Za-z0-9._-])?$",message="Reference name must start with a letter, followed by letters, digits, a ./_- character, not end with a slash, not contain ..")
                                         @Valid @NotNull @Pattern(regexp="^[A-Za-z](((?![.][.])[A-Za-z0-9./_-])*[A-Za-z0-9._-])?$",message="Reference name must start with a letter, followed by letters, digits, a ./_- character, not end with a slash, not contain ..") String branchName,
                                         @Valid @NotNull @Pattern(regexp="^[0-9a-fA-F]{16,64}$",message="Hash must consist of the hex representation of 8-32 bytes")
                                         @Valid @NotNull @Pattern(regexp="^[0-9a-fA-F]{16,64}$",message="Hash must consist of the hex representation of 8-32 bytes") String hash,
                                         @Valid
                                         @Valid String message,
                                         @Valid
                                         @Valid Transplant transplant)
                                  throws NessieNotFoundException,
                                         NessieConflictException
        cherry pick a set of commits into a branch.
        Throws:
        NessieNotFoundException
        NessieConflictException
      • mergeRefIntoBranch

        void mergeRefIntoBranch​(@Valid @NotNull @Pattern(regexp="^[A-Za-z](((?![.][.])[A-Za-z0-9./_-])*[A-Za-z0-9._-])?$",message="Reference name must start with a letter, followed by letters, digits, a ./_- character, not end with a slash, not contain ..")
                                @Valid @NotNull @Pattern(regexp="^[A-Za-z](((?![.][.])[A-Za-z0-9./_-])*[A-Za-z0-9._-])?$",message="Reference name must start with a letter, followed by letters, digits, a ./_- character, not end with a slash, not contain ..") String branchName,
                                @Valid @NotNull @Pattern(regexp="^[0-9a-fA-F]{16,64}$",message="Hash must consist of the hex representation of 8-32 bytes")
                                @Valid @NotNull @Pattern(regexp="^[0-9a-fA-F]{16,64}$",message="Hash must consist of the hex representation of 8-32 bytes") String hash,
                                @Valid @NotNull
                                @Valid @NotNull Merge merge)
                         throws NessieNotFoundException,
                                NessieConflictException
        merge mergeRef onto ref.
        Throws:
        NessieNotFoundException
        NessieConflictException
      • commitMultipleOperations

        Branch commitMultipleOperations​(@Valid @NotNull @Pattern(regexp="^[A-Za-z](((?![.][.])[A-Za-z0-9./_-])*[A-Za-z0-9._-])?$",message="Reference name must start with a letter, followed by letters, digits, a ./_- character, not end with a slash, not contain ..")
                                        @Valid @NotNull @Pattern(regexp="^[A-Za-z](((?![.][.])[A-Za-z0-9./_-])*[A-Za-z0-9._-])?$",message="Reference name must start with a letter, followed by letters, digits, a ./_- character, not end with a slash, not contain ..") String branchName,
                                        @Valid @NotNull @Pattern(regexp="^[0-9a-fA-F]{16,64}$",message="Hash must consist of the hex representation of 8-32 bytes")
                                        @Valid @NotNull @Pattern(regexp="^[0-9a-fA-F]{16,64}$",message="Hash must consist of the hex representation of 8-32 bytes") String hash,
                                        @Valid @NotNull
                                        @Valid @NotNull Operations operations)
                                 throws NessieNotFoundException,
                                        NessieConflictException
        Commit multiple operations against the given branch expecting that branch to have the given hash as its latest commit. The hash in the successful response contains the hash of the commit that contains the operations of the invocation.
        Parameters:
        branchName - Branch to change, defaults to default branch.
        hash - Expected hash of branch.
        operations - Operations to apply
        Returns:
        updated Branch objects with the hash of the new HEAD
        Throws:
        NessieNotFoundException - if branchName could not be found
        NessieConflictException - if the operations could not be applied to some conflict, which is either caused by a conflicting commit or concurrent commits.