java.lang.Object
edu.berkeley.guir.quill.gesturelib.FeatureFactory
- public class FeatureFactory
- extends java.lang.Object
Keeps a cache of features for GestureObject. Known issues:
* Only supports Gesture.
* Once a Gesture is added, it will never be garbage collected.
FeatureFactory could use a WeakHashMap instead of a Hashtable, but
that wouldn't help since each value (Feature) has a strong reference
to its Gesture.
This software is distributed under the
Berkeley Software License.
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
featureTable
static java.util.Hashtable featureTable
- key is a GestureObject. Value is a Hashtable whose key is a
Class and value is a Feature.
FeatureFactory
private FeatureFactory()
checkFeatureClass
public static void checkFeatureClass(java.lang.Class c)
- If c is not a subclass of Feature, throw an
IllegalArgumentException.
getFeature
public static Feature getFeature(java.lang.Class featureClass,
GestureObject gestureObj)
getFeatureValue
public static double getFeatureValue(java.lang.Class featureClass,
GestureObject gestureObj)
createFeature
protected static Feature createFeature(java.lang.Class featureClass,
GestureObject gestureObj)
getFeature
protected static Feature getFeature(java.util.Hashtable table,
java.lang.Class featureClass)
getFeatures
protected static java.util.Hashtable getFeatures(Gesture gesture)
getValues
public static double[] getValues(java.lang.Class[] featureClasses,
GestureObject gestureObj)
getFeatureName
public static java.lang.String getFeatureName(java.lang.Class featureClass)