Package org.projectnessie.services.hash
Class HashResolver
- java.lang.Object
-
- org.projectnessie.services.hash.HashResolver
-
public final class HashResolver extends java.lang.Object
-
-
Constructor Summary
Constructors Constructor Description HashResolver(ServerConfig config, org.projectnessie.versioned.VersionStore store)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description ResolvedHashresolveHashOnRef(java.lang.String namedRef, java.lang.String hashOnRef)Resolves the givennamedReftohashOnRefif present, otherwise to its current HEAD, if available.ResolvedHashresolveHashOnRef(java.lang.String namedRef, java.lang.String hashOnRef, HashValidator validator)Same asresolveHashOnRef(String, String)but allows to pass a customHashValidator.ResolvedHashresolveHashOnRef(ResolvedHash head, java.lang.String hashOnRef, HashValidator validator)Resolves the givenhashOnRefagainst another previously computedResolvedHashpointing to a branch at its HEAD.ResolvedHashresolveHashOnRef(org.projectnessie.versioned.NamedRef ref, org.projectnessie.versioned.Hash currentHead, java.lang.String hashOnRef, HashValidator validator)Resolves the givennamedReftohashOnRefif present, otherwise tocurrentHead, if available.ResolvedHashresolveToHead(java.lang.String namedRef)Resolves the givennamedRefto its current HEAD.
-
-
-
Constructor Detail
-
HashResolver
public HashResolver(ServerConfig config, org.projectnessie.versioned.VersionStore store)
-
-
Method Detail
-
resolveToHead
public ResolvedHash resolveToHead(@Nullable @Nullable java.lang.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 @Nullable java.lang.String namedRef, @Nullable @Nullable java.lang.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 @Nullable java.lang.String namedRef, @Nullable @Nullable java.lang.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 @Nullable java.lang.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 @Nullable org.projectnessie.versioned.Hash currentHead, @Nullable @Nullable java.lang.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
-
-