All Packages This Package Class Hierarchy Class Search Index
java.lang.Object | +----edu.utah.janos.antsr.core.TypeID
Summary |
public final class TypeID extends java.lang.Object { // Fields 2 private final byte[] bits; private static final Hashtable interned; // Constructors 3 private TypeID(); private TypeID(boolean, byte[], int); public TypeID(byte[], int); // Methods 9 public static TypeID computeFromIDs(TypeID[]); public static void sortArray(TypeID[]); public static TypeID wrap(byte[]); public int compare(TypeID); public boolean equals(Object); public int hashCode(); public TypeID intern(); public String toString(); public byte[] unwrap(); }
Capsule, CapsuleClass, CodeGroup and Protocol identifiers. This class wraps 128 bit MD5 hashes stored in byte arrays.
See the text file On_IDs.txt for a description of how these IDs are used.
Cross Reference |
Fields |
· bits | Summary | Top |
private final byte[] bits
We only use the first 16 bytes (128 bits)
· interned | Summary | Top |
private static final Hashtable interned
Table of known TypeIDs. Used to keep/find canonical versions of TypeIDs.
XXX A global table. Not clear if this really should be global.
Constructors |
· TypeID | Summary | Top |
private TypeID()
No-arg constructor is private to prevent construction of invalid TypeIDs.
· TypeID | Summary | Top |
public TypeID(byte[] buf, int offset)
Construct a new TypeID and initialize by deep copy.
Parameter Description buf the byte[] to copy into this new TypeID. offset offset in buf to copy from
- Throws: IndexOutOfBoundsException
- if buf is too short
· TypeID | Summary | Top |
private TypeID(boolean copybuf, byte[] buf, int offset)
Construct a new type id. Use the given buffer. The copybuf argument indicates if the buffer is copied or simply pointed to.
Methods |
· hashCode | Summary | Top |
public int hashCode()
- Overrides:
- hashCode in class Object
· equals | Summary | Top |
public boolean equals(Object obj)
Compare this TypeID with the given one. The given TypeID must match all 16 bytes.
- Overrides:
- equals in class Object
· intern | Summary | Top |
public TypeID intern()
Intern a TypeID and return its canonical value.
- Returns:
- the canonical version of this TypeID.
· compare | Summary | Top |
public int compare(TypeID t)
Compare two TypeIDs
- Returns:
- -1 (this < t), 0 (this.equals(t), 1 (this > t)
· sortArray | Summary | Top |
public static void sortArray(TypeID[] ids)
Sort an array of TypeIDs. Good for short vectors only -- uses insertion sort. Sorts the array inline.
· computeFromIDs | Summary | Top |
public static TypeID computeFromIDs(TypeID[] ids)
Compute an ID from a vector of codeIDs.
This is done by computing a multiple-element md5 hash over a sorted list of code ids.
XXX Combine the insertion sort and the id.update() step from this function. Should only have to iterate over the list once.
- Returns:
- a TypeID representing this vector's ID.
· toString | Summary | Top |
public String toString()
- Overrides:
- toString in class Object
· unwrap | Summary | Top |
public byte[] unwrap()
Unwrap this TypeID, returning the inner byte array. Does not return a copy, returns the actual array.
- Returns:
- the byte[] representing this TypeID.
· wrap | Summary | Top |
public static TypeID wrap(byte[] buf)
Construct and initialize by shallow copy. The different notation is meant to emphasize that a complete object is not being created but rather an existing object is being packaged for convenience.
The length of the buf is not checked.
Parameter Description buf Byte[] containing an MD5 checksum.
All Packages This Package Class Hierarchy Class Search IndexFreshly brewed Java API Documentation automatically generated with polardoc Version 1.0.7