package arkref.ext.fig.basic;
import static arkref.ext.fig.basic.LogInfo.*;
import java.io.*;
import java.util.*;
/**
* Just a dummy class.
* TODO: move common functionality here.
*/
public abstract class AbstractTMap<T> implements Serializable {
protected static final long serialVersionUID = 42;
public static class Functionality<T> implements Serializable {
public T[] createArray(int n) { return (T[])(new Object[n]); }
public T intern(T x) { return x; } // Override to get desired behavior, e.g., interning
}
public static class ObjectFunctionality extends Functionality<Object> {
public Object[] createArray(int n) { return new Object[n]; }
}
public static Functionality defaultFunctionality = new Functionality();
protected static final int growFactor = 2; // How much extra space (times size) to give for the capacity
protected static final int defaultExpectedSize = 2;
protected static final double loadFactor = 0.75; // For hash table
protected enum MapType { SORTED_LIST, HASH_TABLE }
protected MapType mapType;
protected boolean locked; // Are the keys locked
protected int num;
protected T[] keys;
protected Functionality<T> keyFunc;
protected int numCollisions; // For debugging
}