import jalview.api.AlignmentViewPanel;
import jalview.api.analysis.ScoreModelI;
-import jalview.bin.ApplicationSingletonProvider;
-import jalview.bin.ApplicationSingletonProvider.ApplicationSingletonI;
import jalview.io.DataSourceType;
import jalview.io.FileParse;
import jalview.io.ScoreMatrixFile;
/**
* A class that can register and serve instances of ScoreModelI
*/
-public class ScoreModels implements ApplicationSingletonI
+public class ScoreModels
{
+ private final ScoreMatrix BLOSUM62;
+
+ private final ScoreMatrix PAM250;
+
+ private final ScoreMatrix DNA;
+
+ private static ScoreModels instance;
+
+ private Map<String, ScoreModelI> models;
+
/**
* Answers the singleton instance of this class, with lazy initialisation
* (built-in score models are loaded on the first call to this method)
*/
public static ScoreModels getInstance()
{
- return (ScoreModels) ApplicationSingletonProvider.getInstance(ScoreModels.class);
+ if (instance == null)
+ {
+ instance = new ScoreModels();
+ }
+ return instance;
}
/**
registerScoreModel(new FeatureDistanceModel());
}
- private final ScoreMatrix BLOSUM62;
-
- private final ScoreMatrix PAM250;
-
- private final ScoreMatrix DNA;
-
- private Map<String, ScoreModelI> models;
-
/**
* Tries to load a score matrix from the given resource file, and if
* successful, registers it.
*/
public void reset()
{
- ApplicationSingletonProvider.removeInstance(this.getClass());
+ instance = new ScoreModels();
}
/**