package dmt.features;
import java.util.Vector;
import dmt.features.definitions.prefeatures.ChildrenDepthPreFeature;
import dmt.features.definitions.prefeatures.ElementRemovalPreFeature;
import dmt.features.definitions.prefeatures.NumberOfChildrenPreFeature;
import dmt.features.definitions.prefeatures.NumberOfDescendentsPreFeature;
import dmt.features.definitions.prefeatures.NumberOfSiblingSameTypePreFeature;
public abstract class PreFeature
{
public abstract void run(Vector<String> fields);
protected static Vector<PreFeature> preFeatures = null;
public static Vector<PreFeature> getFeatures()
{
if(preFeatures == null)
{
registerPreFeatures();
}
return preFeatures;
}
private static void registerPreFeatures()
{
preFeatures = new Vector<PreFeature>();
//TODO register features
//preFeatures.add(new ElementRemovalPreFeature());
preFeatures.add(new NumberOfChildrenPreFeature());
preFeatures.add(new NumberOfDescendentsPreFeature());
preFeatures.add(new ChildrenDepthPreFeature());
preFeatures.add(new NumberOfSiblingSameTypePreFeature());
}
}