public final class AbbreviatedLongObjectId extends Object implements Serializable
LongObjectId
.
Enable abbreviating SHA-256 strings used by Git LFS, using sufficient leading digits from the LongObjectId 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.
Ported to SHA-256 from AbbreviatedObjectId
Modifier and Type | Method and Description |
---|---|
boolean |
equals(Object o) |
static AbbreviatedLongObjectId |
fromLongObjectId(AnyLongObjectId id)
Convert an AbbreviatedObjectId from an
AnyObjectId . |
static AbbreviatedLongObjectId |
fromString(byte[] buf,
int offset,
int end)
Convert an AbbreviatedObjectId from hex characters (US-ASCII).
|
static AbbreviatedLongObjectId |
fromString(String str)
Convert an AbbreviatedLongObjectId from hex characters.
|
int |
getFirstByte() |
int |
hashCode() |
boolean |
isComplete() |
static boolean |
isId(String id)
Test a string of characters to verify it is a hex format.
|
int |
length() |
String |
name() |
int |
prefixCompare(AnyLongObjectId other)
Compares this abbreviation to a full object id.
|
int |
prefixCompare(byte[] bs,
int p)
Compare this abbreviation to a network-byte-order LongObjectId.
|
int |
prefixCompare(long[] bs,
int p)
Compare this abbreviation to a network-byte-order LongObjectId.
|
LongObjectId |
toLongObjectId() |
String |
toString() |
public static final boolean isId(String id)
If true the string can be parsed with fromString(String)
.
id
- the string to test.public static final AbbreviatedLongObjectId fromString(byte[] buf, int offset, int end)
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).public static final AbbreviatedLongObjectId fromLongObjectId(AnyLongObjectId id)
AnyObjectId
.
This method copies over all bits of the Id, and is therefore complete
(see isComplete()
).
id
- the ObjectId
to convert from.public static final AbbreviatedLongObjectId fromString(String str)
str
- the string to read from. Must be <= 64 characters.public int length()
public boolean isComplete()
public LongObjectId toLongObjectId()
isComplete()
is falsepublic final int prefixCompare(AnyLongObjectId other)
other
- the other object id.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
.public final int prefixCompare(byte[] bs, int p)
bs
- array containing the other LongObjectId in network byte order.p
- position within bs
to start the compare at. At least
32 bytes, starting at this position are required.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
.public final int prefixCompare(long[] bs, int p)
bs
- array containing the other LongObjectId in network byte order.p
- position within bs
to start the compare at. At least 4
longs, starting at this position are required.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
.public final int getFirstByte()
public final String name()
Copyright © 2016 Eclipse JGit Project. All rights reserved.