com.sun.labs.minion.indexer.dictionary
Class LongNameHandler

java.lang.Object
  extended by com.sun.labs.minion.indexer.dictionary.LongNameHandler
All Implemented Interfaces:
NameDecoder, NameEncoder
Direct Known Subclasses:
DateNameHandler

public class LongNameHandler
extends java.lang.Object
implements NameEncoder, NameDecoder


Constructor Summary
LongNameHandler()
           
 
Method Summary
 java.lang.Object decodeName(java.lang.Object prev, ReadableBuffer b)
          Decodes the long name of an entry, given a buffer of encoded names and the name of the previous entry in the dictionary.
 void encodeName(java.lang.Object prev, java.lang.Object curr, WriteableBuffer b)
          Encodes the long name of an entry, given the name of the previous entry in the dictionary.
static int getShared(long i, long j)
          Finds the number of initial bytes shared by two longs.
 boolean startsWith(java.lang.Object n, java.lang.Object m)
          Determines whether one long starts with another, which is true only if they are equal!
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

LongNameHandler

public LongNameHandler()
Method Detail

encodeName

public void encodeName(java.lang.Object prev,
                       java.lang.Object curr,
                       WriteableBuffer b)
Encodes the long name of an entry, given the name of the previous entry in the dictionary.

Specified by:
encodeName in interface NameEncoder
Parameters:
prev - The name of the previous entry in the dictionary.
curr - The name of the entry to encode.
b - The buffer onto which the name of the term should be encoded.

decodeName

public java.lang.Object decodeName(java.lang.Object prev,
                                   ReadableBuffer b)
Decodes the long name of an entry, given a buffer of encoded names and the name of the previous entry in the dictionary.

Specified by:
decodeName in interface NameDecoder
Parameters:
prev - The name of the previous entry in the dictionary.
b - The buffer onto which the name of the term should be encoded.
Returns:
The decoded name.

startsWith

public boolean startsWith(java.lang.Object n,
                          java.lang.Object m)
Determines whether one long starts with another, which is true only if they are equal!

Specified by:
startsWith in interface NameDecoder
Parameters:
n - The first name. We are checking to see if m starts with n.
m - The second name.
Returns:
true if m starts with n, false otherwise.

getShared

public static int getShared(long i,
                            long j)
Finds the number of initial bytes shared by two longs.

Parameters:
i - One integer.
j - Another integer.
Returns:
the number of leading bytes shared by the two integers.