org.eclipse.jgit.lib
Class AbbreviatedObjectId

java.lang.Object
  extended by org.eclipse.jgit.lib.AbbreviatedObjectId

public final class AbbreviatedObjectId
extends java.lang.Object

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.


Method Summary
 boolean equals(java.lang.Object o)
           
static AbbreviatedObjectId fromString(byte[] buf, int offset, int end)
          Convert an AbbreviatedObjectId from hex characters (US-ASCII).
static AbbreviatedObjectId fromString(java.lang.String str)
          Convert an AbbreviatedObjectId from hex characters.
 int hashCode()
           
 boolean isComplete()
           
 int length()
           
 java.lang.String name()
           
 int prefixCompare(AnyObjectId other)
          Compares this abbreviation to a full object id.
 ObjectId toObjectId()
           
 java.lang.String toString()
           
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Method Detail

fromString

public static final AbbreviatedObjectId fromString(byte[] buf,
                                                   int offset,
                                                   int end)
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-offset is the length of the string).
Returns:
the converted object id.

fromString

public static final AbbreviatedObjectId fromString(java.lang.String str)
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()
Returns:
number of hex digits appearing in this id

isComplete

public boolean isComplete()
Returns:
true if this ObjectId is actually a complete id.

toObjectId

public ObjectId toObjectId()
Returns:
a complete ObjectId; null if isComplete() is false

prefixCompare

public int prefixCompare(AnyObjectId other)
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 first length() digits of other.name(); >0 if this abbreviation names an object that is after other.

hashCode

public int hashCode()
Overrides:
hashCode in class java.lang.Object

equals

public boolean equals(java.lang.Object o)
Overrides:
equals in class java.lang.Object

name

public final java.lang.String name()
Returns:
string form of the abbreviation, in lower case hexadecimal.

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object