net.sf.mmm.util.text.base
Class AbstractStringHasher

java.lang.Object
  extended by net.sf.mmm.util.text.base.AbstractStringHasher
All Implemented Interfaces:
StringHasher
Direct Known Subclasses:
FastStringHasher, SimpleStringHasher

public abstract class AbstractStringHasher
extends Object
implements StringHasher

This is the abstract base implementation of the StringHasher interface.
NOTE:
For efficiency you should override some of the default method-implementations.

Since:
2.0.0
Author:
Joerg Hohwiller (hohwille at users.sourceforge.net)

Constructor Summary
AbstractStringHasher()
          The constructor.
 
Method Summary
 int getHashCode(CharSequence string)
          This method gets the hash-code for the given string.
 int getHashCode(CharSequence string, int start, int end)
          This method gets the hash-code for the specified subsequence of the given string.
 int[] getHashCodes(char[] string, int length)
          This method gets the hash-codes for all subsequence of string that have the given length.
 int[] getHashCodes(char[] string, int length, int stringStart, int stringEnd)
          This method gets the hash-codes for all subsequence of string from stringStart (inclusive) until stringEnd (exclusive) that have the given length.
 int[] getHashCodes(CharSequence string, int length)
          This method gets the hash-codes for all subsequence of string that have the given length.
 int[] getHashCodes(CharSequence string, int length, int stringStart, int stringEnd)
          This method gets the hash-codes for all subsequence of string from stringStart (inclusive) until stringEnd (exclusive) that have the given length.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface net.sf.mmm.util.text.api.StringHasher
getHashCode
 

Constructor Detail

AbstractStringHasher

public AbstractStringHasher()
The constructor.

Method Detail

getHashCode

public int getHashCode(CharSequence string)
This method gets the hash-code for the given string.

Specified by:
getHashCode in interface StringHasher
Parameters:
string - is the CharSequence to hash.
Returns:
the according hash-code.
See Also:
StringHasher.getHashCode(CharSequence, int, int)

getHashCode

public int getHashCode(CharSequence string,
                       int start,
                       int end)
This method gets the hash-code for the specified subsequence of the given string.

Specified by:
getHashCode in interface StringHasher
Parameters:
string - is the CharSequence containing the subsequence to hash.
start - is the index of the first character to include into the hash.
end - is the index one before the last character to include into the hash.
Returns:
the according hash-code.
See Also:
Object.hashCode()

getHashCodes

public int[] getHashCodes(CharSequence string,
                          int length)
This method gets the hash-codes for all subsequence of string that have the given length.

Specified by:
getHashCodes in interface StringHasher
Parameters:
string - is the string as char-array.
length - is the length of the sub-sequences of string to hash.
Returns:
the requested hash-codes. An empty array if the length of string is less than the given length.
See Also:
StringHasher.getHashCodes(char[], int)

getHashCodes

public int[] getHashCodes(char[] string,
                          int length)
This method gets the hash-codes for all subsequence of string that have the given length.

Specified by:
getHashCodes in interface StringHasher
Parameters:
string - is the string as char-array.
length - is the length of the sub-sequences of string to hash.
Returns:
the requested hash-codes. An empty array if the length of string is less than the given length.
See Also:
StringHasher.getHashCodes(char[], int, int, int)

getHashCodes

public int[] getHashCodes(CharSequence string,
                          int length,
                          int stringStart,
                          int stringEnd)
This method gets the hash-codes for all subsequence of string from stringStart (inclusive) until stringEnd (exclusive) that have the given length.

Specified by:
getHashCodes in interface StringHasher
Parameters:
string - is the string as char-array.
length - is the length of the sub-sequences of string to hash.
stringStart - is the index where to start in string.
stringEnd - is the index where to stop in string.
Returns:
the requested hash-codes. An empty array if the length of string is less than the given length.
See Also:
StringHasher.getHashCodes(char[], int)

getHashCodes

public int[] getHashCodes(char[] string,
                          int length,
                          int stringStart,
                          int stringEnd)
This method gets the hash-codes for all subsequence of string from stringStart (inclusive) until stringEnd (exclusive) that have the given length.
The implementation of this method needs to behave functionally equivalent to this code (but should be more efficient):
 int size = stringEnd - stringStart - length + 1;
 if (size <= 0) {
   return new int[0];
 }
 int[] result = new int[size];
 for (int i = 0; i < size; i++) {
   result[i] = getHashCode(string, i, i + length);
 }
 return result;
 

Specified by:
getHashCodes in interface StringHasher
Parameters:
string - is the string as char-array.
length - is the length of the sub-sequences of string to hash.
stringStart - is the index where to start in string.
stringEnd - is the index where to stop in string.
Returns:
the requested hash-codes. An empty array if the length of string is less than the given length.


Copyright © 2001-2010 mmm-Team. All Rights Reserved.