## edu.msu.cme.rdp.classifier.rrnaclassifier
Class ClassifierFactory

    java.lang.Object
      edu.msu.cme.rdp.classifier.rrnaclassifier.ClassifierFactory

    public class ClassifierFactory

extends java.lang.Object

A factory to create a classifier with the training information defined by the property file.

Field Summary
`private static java.lang.String` `classifierVersion`
`private static java.lang.String` `dataDir` The default data directory, relative to the classpath.
`private static java.lang.String` `dataProp`
`private static java.lang.String` `defaultDataProp` The default data property file name, inside the default data directory
`private static ClassifierFactory` `factory`
`private static java.lang.String` `parentPath`
`private static boolean` `relativePath`
`private static TrainingInfo` `trainingInfo`
`private static java.util.Properties` `urlProperties`

Constructor Summary
`private` `ClassifierFactory()` Creates a new instance of ClassifierFactory.

Method Summary
`private static java.lang.String` `convert(java.lang.String key)` Retrieves appropriate value from the property file.
`Classifier` `createClassifier()` Creates a new classifier.
`java.lang.String` `getClassifierVersion()` Returns the version of the classifier.
`static ClassifierFactory` `getFactory()` Returns a factory with the training information.
`HierarchyVersion` `getHierarchyTrainsetNo()` Returns the info of the taxonomy hierarchy from of the training file.
`java.lang.String` `getHierarchyVersion()` Returns the version of the taxonomical hierarchy.
`private static ClassifierFactory` `getNonDefaultFactory()` Returns a factory with the training information for the non-default training data files.
`HierarchyTree` `getRoot()`
`static void` `resetDefaultDataProp()` Resets the data property file to the default data property file.
`static void` `setDataProp(java.lang.String properties, boolean relative)` Sets the property file which contains the mapping of the training files.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### trainingInfo

    private static TrainingInfo trainingInfo

### urlProperties

    private static java.util.Properties urlProperties

### classifierVersion

    private static java.lang.String classifierVersion

### dataDir

    private static java.lang.String dataDir

  The default data directory, relative to the classpath.

### defaultDataProp

    private static final java.lang.String defaultDataProp

  The default data property file name, inside the default data directory

  See Also:
    Constant Field Values

### parentPath

    private static java.lang.String parentPath

### dataProp

    private static java.lang.String dataProp

### factory

    private static ClassifierFactory factory

### relativePath

    private static boolean relativePath

Constructor Detail

### ClassifierFactory

    private ClassifierFactory()
                       throws java.io.IOException,
                              TrainingDataException

  Creates a new instance of ClassifierFactory.

  Throws:
    `java.io.IOException`
    `TrainingDataException`

Method Detail

### resetDefaultDataProp

    public static void resetDefaultDataProp()

  Resets the data property file to the default data property file.

### setDataProp

    public static void setDataProp(java.lang.String properties,
                                   boolean relative)

  Sets the property file which contains the mapping of the training files. The actually training data files should be in the same directory as this property file. To override the default property location, this method must be called before the first ClassifierFactory.getFactory() call.

### getFactory

    public static ClassifierFactory getFactory()
                                        throws java.io.IOException,
                                               TrainingDataException

  Returns a factory with the training information. This method initialize all the training information. Note: the ClassifierFactory.setDataProp() static method must be called before this method if default property file will not be used.

  Throws:
    `java.io.IOException`
    `TrainingDataException`

### getNonDefaultFactory

    private static ClassifierFactory getNonDefaultFactory()
                                                   throws java.io.IOException,
                                                          TrainingDataException

  Returns a factory with the training information for the non-default training data files.

  Throws:
    `java.io.IOException`
    `TrainingDataException`

### convert

    private static java.lang.String convert(java.lang.String key)
                                     throws java.io.IOException

  Retrieves appropriate value from the property file.

  Throws:
    `java.io.IOException`

### createClassifier

    public Classifier createClassifier()

  Creates a new classifier.

### getHierarchyVersion

    public java.lang.String getHierarchyVersion()

  Returns the version of the taxonomical hierarchy.

### getHierarchyTrainsetNo

    public HierarchyVersion getHierarchyTrainsetNo()

  Returns the info of the taxonomy hierarchy from of the training file.

### getClassifierVersion

    public java.lang.String getClassifierVersion()

  Returns the version of the classifier.

### getRoot

    public HierarchyTree getRoot()