java.lang.Object
org.eclipse.jgit.lib.AbbreviatedObjectId
- All Implemented Interfaces:
Serializable
A prefix abbreviation of an
ObjectId.
Sometimes Git produces abbreviated SHA-1 strings, using sufficient leading digits from the ObjectId name to still be unique within the repository the string was generated from. These ids are likely to be unique for a useful period of time, especially if they contain at least 6-10 hex digits.
This class converts the hex string into a binary form, to make it more efficient for matching against an object.
- See Also:
-
Method Summary
Modifier and TypeMethodDescriptionbooleanstatic final AbbreviatedObjectIdConvert an AbbreviatedObjectId from anAnyObjectId.static final AbbreviatedObjectIdfromString(byte[] buf, int offset, int end) Convert an AbbreviatedObjectId from hex characters (US-ASCII).static final AbbreviatedObjectIdfromString(String str) Convert an AbbreviatedObjectId from hex characters.final intGet value for a fan-out style map, only valid of length >= 2.inthashCode()booleanWhether this ObjectId is actually a complete id.static final booleanTest a string of characters to verify it is a hex format.intlength()Get number of hex digits appearing in this id.final Stringname()Get string form of the abbreviation, in lower case hexadecimal.final intprefixCompare(byte[] bs, int p) Compare this abbreviation to a network-byte-order ObjectId.final intprefixCompare(int[] bs, int p) Compare this abbreviation to a network-byte-order ObjectId.final intprefixCompare(AnyObjectId other) Compares this abbreviation to a full object id.A complete ObjectId; null ifisComplete()is falsetoString()
-
Method Details
-
isId
Test a string of characters to verify it is a hex format.If true the string can be parsed with
fromString(String).- Parameters:
id- the string to test.- Returns:
- true if the string can converted into an AbbreviatedObjectId.
-
fromString
Convert an AbbreviatedObjectId from hex characters (US-ASCII).- Parameters:
buf- the US-ASCII buffer to read from.offset- position to read the first character from.end- one past the last position to read (end-offsetis the length of the string).- Returns:
- the converted object id.
-
fromObjectId
Convert an AbbreviatedObjectId from anAnyObjectId.This method copies over all bits of the Id, and is therefore complete (see
isComplete()).- Parameters:
id- theObjectIdto convert from.- Returns:
- the converted object id.
-
fromString
Convert an AbbreviatedObjectId from hex characters.- Parameters:
str- the string to read from. Must be <= 40 characters.- Returns:
- the converted object id.
-
length
public int length()Get number of hex digits appearing in this id.- Returns:
- number of hex digits appearing in this id.
-
isComplete
public boolean isComplete()Whether this ObjectId is actually a complete id.- Returns:
- true if this ObjectId is actually a complete id.
-
toObjectId
A complete ObjectId; null ifisComplete()is false- Returns:
- a complete ObjectId; null if
isComplete()is false
-
prefixCompare
Compares this abbreviation to a full object id.- Parameters:
other- the other object id.- Returns:
- <0 if this abbreviation names an object that is less than
other; 0 if this abbreviation exactly matches the firstlength()digits ofother.name(); >0 if this abbreviation names an object that is afterother.
-
prefixCompare
public final int prefixCompare(byte[] bs, int p) Compare this abbreviation to a network-byte-order ObjectId.- Parameters:
bs- array containing the other ObjectId in network byte order.p- position withinbsto start the compare at. At least 20 bytes, starting at this position are required.- Returns:
- <0 if this abbreviation names an object that is less than
other; 0 if this abbreviation exactly matches the firstlength()digits ofother.name(); >0 if this abbreviation names an object that is afterother.
-
prefixCompare
public final int prefixCompare(int[] bs, int p) Compare this abbreviation to a network-byte-order ObjectId.- Parameters:
bs- array containing the other ObjectId in network byte order.p- position withinbsto start the compare at. At least 5 ints, starting at this position are required.- Returns:
- <0 if this abbreviation names an object that is less than
other; 0 if this abbreviation exactly matches the firstlength()digits ofother.name(); >0 if this abbreviation names an object that is afterother.
-
getFirstByte
public final int getFirstByte()Get value for a fan-out style map, only valid of length >= 2.- Returns:
- value for a fan-out style map, only valid of length >= 2.
-
hashCode
public int hashCode() -
equals
-
name
Get string form of the abbreviation, in lower case hexadecimal.- Returns:
- string form of the abbreviation, in lower case hexadecimal.
-
toString
-