- java.lang.Object
-
- org.eclipse.jgit.lib.SymbolicRef
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface org.eclipse.jgit.lib.Ref
Ref.Storage
-
-
Field Summary
-
Fields inherited from interface org.eclipse.jgit.lib.Ref
UNDEFINED_UPDATE_INDEX
-
-
Constructor Summary
Constructors Constructor Description SymbolicRef(String refName, Ref target)Create a new ref pairing.SymbolicRef(String refName, Ref target, long updateIndex)Create a new ref pairing.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description RefgetLeaf()Traverse target references untilRef.isSymbolic()is false.StringgetName()What this ref is called within the repository.ObjectIdgetObjectId()Cached value of this ref.ObjectIdgetPeeledObjectId()Cached value ofref^{}(the ref peeled to commit).Ref.StoragegetStorage()How was this ref obtained?RefgetTarget()Get the reference this reference points to, orthis.longgetUpdateIndex()Indicator of the relative order between updates of a specific reference name.booleanisPeeled()Whether the Ref represents a peeled tag.booleanisSymbolic()Test if this reference is a symbolic reference.StringtoString()
-
-
-
Method Detail
-
isSymbolic
public boolean isSymbolic()
Test if this reference is a symbolic reference.A symbolic reference does not have its own
ObjectIdvalue, but instead points to anotherRefin the same database and always uses that other reference's value as its own.- Specified by:
isSymbolicin interfaceRef- Returns:
- true if this is a symbolic reference; false if this reference contains its own ObjectId.
-
getLeaf
@NonNull public Ref getLeaf()
Traverse target references untilRef.isSymbolic()is false.If
Ref.isSymbolic()is false, returnsthis.If
Ref.isSymbolic()is true, this method recursively traversesRef.getTarget()untilRef.isSymbolic()returns false.This method is effectively
return isSymbolic() ? getTarget().getLeaf() : this;
-
getTarget
@NonNull public Ref getTarget()
Get the reference this reference points to, orthis.If
Ref.isSymbolic()is true this method returns the reference it directly names, which might not be the leaf reference, but could be another symbolic reference.If this is a leaf level reference that contains its own ObjectId,this method returns
this.
-
getObjectId
@Nullable public ObjectId getObjectId()
Cached value of this ref.- Specified by:
getObjectIdin interfaceRef- Returns:
- the value of this ref at the last time we read it. May be
nullto indicate a ref that does not exist yet or a symbolic ref pointing to an unborn branch.
-
getStorage
@NonNull public Ref.Storage getStorage()
How was this ref obtained?The current storage model of a Ref may influence how the ref must be updated or deleted from the repository.
- Specified by:
getStoragein interfaceRef- Returns:
- type of ref.
-
getPeeledObjectId
@Nullable public ObjectId getPeeledObjectId()
Cached value ofref^{}(the ref peeled to commit).- Specified by:
getPeeledObjectIdin interfaceRef- Returns:
- if this ref is an annotated tag the id of the commit (or tree or
blob) that the annotated tag refers to;
nullif this ref does not refer to an annotated tag.
-
isPeeled
public boolean isPeeled()
Whether the Ref represents a peeled tag.
-
getUpdateIndex
public long getUpdateIndex()
Indicator of the relative order between updates of a specific reference name. A number that increases when a reference is updated.With symbolic references, the update index refers to updates of the symbolic reference itself. For example, if HEAD points to refs/heads/master, then the update index for exactRef("HEAD") will only increase when HEAD changes to point to another ref, regardless of how many times refs/heads/master is updated.
Should not be used unless the
RefDatabasethat instantiated the ref supports versioning (seeRefDatabase.hasVersioning())- Specified by:
getUpdateIndexin interfaceRef- Returns:
- the update index (i.e. version) of this reference.
- Since:
- 5.3
-
-