Interface TreeApi

  • All Known Subinterfaces:
    HttpTreeApi

    public interface TreeApi
    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      void assignReference​(Reference.ReferenceType referenceType, @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, one of the ./_- characters, not end with a slash or dot, not contain \'..\'") String referenceName, @Valid @NotNull @Pattern(regexp="^[0-9a-fA-F]{8,64}$",message="Hash must consist of the hex representation of 4-32 bytes") String oldHash, @Valid @NotNull Reference assignTo)
      Update a reference's HEAD to point to a different commit.
      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, one of the ./_- characters, not end with a slash or dot, not contain \'..\'") String branchName, @Valid @NotNull @Pattern(regexp="^[0-9a-fA-F]{8,64}$",message="Hash must consist of the hex representation of 4-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, one of the ./_- characters, not end with a slash or dot, not contain \'..\'") String sourceRefName, @Valid @NotNull Reference reference)
      Create a new reference.
      void deleteReference​(Reference.ReferenceType referenceType, @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, one of the ./_- characters, not end with a slash or dot, not contain \'..\'") String referenceName, @Valid @NotNull @Pattern(regexp="^[0-9a-fA-F]{8,64}$",message="Hash must consist of the hex representation of 4-32 bytes") String hash)
      Delete a named reference.
      ReferencesResponse getAllReferences​(ReferencesParams params)
      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, one of the ./_- characters, not end with a slash or dot, 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, one of the ./_- characters, not end with a slash or dot, not contain \'..\'") String refName, @Valid @NotNull EntriesParams params)
      Retrieve objects for a ref, potentially truncated by the backend.
      Reference getReferenceByName​(@Valid @NotNull GetReferenceParams params)
      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, one of the ./_- characters, not end with a slash or dot, not contain \'..\'") String branchName, @Valid @NotNull @Pattern(regexp="^[0-9a-fA-F]{8,64}$",message="Hash must consist of the hex representation of 4-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, one of the ./_- characters, not end with a slash or dot, not contain \'..\'") String branchName, @Valid @NotNull @Pattern(regexp="^[0-9a-fA-F]{8,64}$",message="Hash must consist of the hex representation of 4-32 bytes") String hash, @Valid String message, @Valid Transplant transplant)
      cherry pick a set of commits into a branch.
    • Method Detail

      • 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, one of the ./_- characters, not end with a slash or dot, 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, one of the ./_- characters, not end with a slash or dot, 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
      • 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, one of the ./_- characters, not end with a slash or dot, 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, one of the ./_- characters, not end with a slash or dot, 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, one of the ./_- characters, not end with a slash or dot, 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, one of the ./_- characters, not end with a slash or dot, 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
      • assignReference

        void assignReference​(@Valid @NotNull
                             Reference.ReferenceType referenceType,
                             @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, one of the ./_- characters, not end with a slash or dot, 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, one of the ./_- characters, not end with a slash or dot, not contain \'..\'") String referenceName,
                             @Valid @NotNull @Pattern(regexp="^[0-9a-fA-F]{8,64}$",message="Hash must consist of the hex representation of 4-32 bytes")
                             @Valid @NotNull @Pattern(regexp="^[0-9a-fA-F]{8,64}$",message="Hash must consist of the hex representation of 4-32 bytes") String oldHash,
                             @Valid @NotNull
                             @Valid @NotNull Reference assignTo)
                      throws NessieNotFoundException,
                             NessieConflictException
        Update a reference's HEAD to point to a different commit.
        Throws:
        NessieNotFoundException
        NessieConflictException
      • deleteReference

        void deleteReference​(@Valid @NotNull
                             Reference.ReferenceType referenceType,
                             @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, one of the ./_- characters, not end with a slash or dot, 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, one of the ./_- characters, not end with a slash or dot, not contain \'..\'") String referenceName,
                             @Valid @NotNull @Pattern(regexp="^[0-9a-fA-F]{8,64}$",message="Hash must consist of the hex representation of 4-32 bytes")
                             @Valid @NotNull @Pattern(regexp="^[0-9a-fA-F]{8,64}$",message="Hash must consist of the hex representation of 4-32 bytes") String hash)
                      throws NessieConflictException,
                             NessieNotFoundException
        Delete a named reference.
        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, one of the ./_- characters, not end with a slash or dot, 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, one of the ./_- characters, not end with a slash or dot, not contain \'..\'") String branchName,
                                         @Valid @NotNull @Pattern(regexp="^[0-9a-fA-F]{8,64}$",message="Hash must consist of the hex representation of 4-32 bytes")
                                         @Valid @NotNull @Pattern(regexp="^[0-9a-fA-F]{8,64}$",message="Hash must consist of the hex representation of 4-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, one of the ./_- characters, not end with a slash or dot, 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, one of the ./_- characters, not end with a slash or dot, not contain \'..\'") String branchName,
                                @Valid @NotNull @Pattern(regexp="^[0-9a-fA-F]{8,64}$",message="Hash must consist of the hex representation of 4-32 bytes")
                                @Valid @NotNull @Pattern(regexp="^[0-9a-fA-F]{8,64}$",message="Hash must consist of the hex representation of 4-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, one of the ./_- characters, not end with a slash or dot, 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, one of the ./_- characters, not end with a slash or dot, not contain \'..\'") String branchName,
                                        @Valid @NotNull @Pattern(regexp="^[0-9a-fA-F]{8,64}$",message="Hash must consist of the hex representation of 4-32 bytes")
                                        @Valid @NotNull @Pattern(regexp="^[0-9a-fA-F]{8,64}$",message="Hash must consist of the hex representation of 4-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.