Package org.projectnessie.services.hash
Class HashResolver
java.lang.Object
org.projectnessie.services.hash.HashResolver
-
Constructor Summary
ConstructorsConstructorDescriptionHashResolver(org.projectnessie.services.config.ServerConfig config, org.projectnessie.versioned.VersionStore store) -
Method Summary
Modifier and TypeMethodDescriptionresolveHashOnRef(String namedRef, String hashOnRef) Resolves the givennamedReftohashOnRefif present, otherwise to its current HEAD, if available.resolveHashOnRef(String namedRef, String hashOnRef, HashValidator validator) Same asresolveHashOnRef(String, String)but allows to pass a customHashValidator.resolveHashOnRef(ResolvedHash head, String hashOnRef, HashValidator validator) Resolves the givenhashOnRefagainst another previously computedResolvedHashpointing to a branch at its HEAD.resolveHashOnRef(org.projectnessie.versioned.NamedRef ref, org.projectnessie.versioned.Hash currentHead, String hashOnRef, HashValidator validator) Resolves the givennamedReftohashOnRefif present, otherwise tocurrentHead, if available.resolveToHead(String namedRef) Resolves the givennamedRefto its current HEAD.
-
Constructor Details
-
HashResolver
public HashResolver(org.projectnessie.services.config.ServerConfig config, org.projectnessie.versioned.VersionStore store)
-
-
Method Details
-
resolveToHead
public ResolvedHash resolveToHead(@Nullable String namedRef) throws org.projectnessie.versioned.ReferenceNotFoundException Resolves the givennamedRefto its current HEAD. Throws if the reference does not exist, or if it'sDetachedRef.If
namedRefis null, the default branch will be used.- Throws:
org.projectnessie.versioned.ReferenceNotFoundException
-
resolveHashOnRef
public ResolvedHash resolveHashOnRef(@Nullable String namedRef, @Nullable String hashOnRef) throws org.projectnessie.versioned.ReferenceNotFoundException Resolves the givennamedReftohashOnRefif present, otherwise to its current HEAD, if available. Uses theHashValidator.DEFAULTinstance.Throws if the reference does not exist, the hash is invalid, or is not present on the reference.
If
namedRefisDetachedRef, then a non-nullhashOnRefis required.If
namedRefis null, the default branch will be used.- Throws:
org.projectnessie.versioned.ReferenceNotFoundException
-
resolveHashOnRef
public ResolvedHash resolveHashOnRef(@Nullable String namedRef, @Nullable String hashOnRef, HashValidator validator) throws org.projectnessie.versioned.ReferenceNotFoundException Same asresolveHashOnRef(String, String)but allows to pass a customHashValidator.- Throws:
org.projectnessie.versioned.ReferenceNotFoundException
-
resolveHashOnRef
public ResolvedHash resolveHashOnRef(ResolvedHash head, @Nullable String hashOnRef, HashValidator validator) throws org.projectnessie.versioned.ReferenceNotFoundException Resolves the givenhashOnRefagainst another previously computedResolvedHashpointing to a branch at its HEAD.This is useful to compute more hashes against a first resolved hash, e.g. when transplanting.
See
resolveHashOnRef(String, String)for important caveats.- Throws:
org.projectnessie.versioned.ReferenceNotFoundException
-
resolveHashOnRef
public ResolvedHash resolveHashOnRef(org.projectnessie.versioned.NamedRef ref, @Nullable org.projectnessie.versioned.Hash currentHead, @Nullable String hashOnRef, HashValidator validator) throws org.projectnessie.versioned.ReferenceNotFoundException Resolves the givennamedReftohashOnRefif present, otherwise tocurrentHead, if available.Either
currentHeadorhashOnRefmust be non-null. It's the caller's responsibility to validate that any user-provided input meets this requirement.See
resolveHashOnRef(String, String)for important caveats.- Throws:
org.projectnessie.versioned.ReferenceNotFoundException
-