/*
* reserved comment block
* DO NOT REMOVE OR ALTER!
*/
/*
* Copyright 2001, 2002,2004 The Apache Software Foundation.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/**
* This class is an unsynchronized hash table primary used for String
* to Object mapping.
* <p>
* The hash code uses the same algorithm as SymbolTable class.
*
* @author Elena Litani
* @version $Id: SymbolHash.java,v 1.7 2010-11-01 04:40:14 joehw Exp $
*/
public class SymbolHash {
//
// Constants
//
/** Default table size. */
//
// Data
//
/** Buckets. */
/** Number of elements. */
//
// Constructors
//
/** Constructs a key table with the default size. */
public SymbolHash() {
}
/**
* Constructs a key table with a given size.
*
* @param size the size of the key table.
*/
fTableSize = size;
}
//
// Public methods
//
/**
* the previous value associated with this key is overwritten by the new
* value.
*
* @param key
* @param value
*/
// replace old value
}
// create new entry
else {
fNum++;
}
}
/**
* Get the value associated with the given key.
*
* @param key
* @return the value associated with the given key.
*/
}
return null;
}
/**
*
*/
public int getLength() {
return fNum;
}
/**
* Add all values to the given array. The array must have enough entry.
*
* @param elements the array to store the elements
* @param from where to start store element in the array
* @return number of elements copied to the array
*/
j++;
}
}
return fNum;
}
/**
*/
j++;
}
}
return entries;
}
/**
* Make a clone of this object.
*/
for (int i = 0; i < fTableSize; i++) {
}
return newTable;
}
/**
* by at least keeping the fBuckets array around.
*/
public void clear() {
for (int i=0; i<fTableSize; i++) {
}
fNum = 0;
} // clear(): void
// search for identical key
return entry;
}
return null;
}
//
// Classes
//
/**
* This class is a key table entry. Each entry acts as a node
* in a linked list.
*/
protected static final class Entry {
/** The next entry. */
public Entry() {
}
}
return entry;
}
} // entry
} // class SymbolHash