X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fio%2Fgff%2FSequenceOntologyFactory.java;fp=src%2Fjalview%2Fio%2Fgff%2FSequenceOntologyFactory.java;h=258b16acdd37e038591c1c16361da0fe44ea423a;hb=ad1f4306281b0894fa42394b9a68da834cf14af6;hp=97ebf2a3e6b42968511dfb83ddc3b159d432f815;hpb=53b2ec17b88081e402f60deab2723750bc4867d1;p=jalview.git diff --git a/src/jalview/io/gff/SequenceOntologyFactory.java b/src/jalview/io/gff/SequenceOntologyFactory.java index 97ebf2a..258b16a 100644 --- a/src/jalview/io/gff/SequenceOntologyFactory.java +++ b/src/jalview/io/gff/SequenceOntologyFactory.java @@ -33,25 +33,37 @@ import jalview.bin.Instance; public class SequenceOntologyFactory { - private SequenceOntologyFactory() + public static synchronized SequenceOntologyI getSequenceOntology() { - // noninstantiable + SequenceOntologyFactory j = getInstance(); + return (j.sequenceOntology == null + ? j.sequenceOntology = new SequenceOntologyLite() + : j.sequenceOntology); } - // private static SequenceOntologyI instance; // moved to Jalview.instance for - // JavaScript - public static synchronized SequenceOntologyI getInstance() + /** + * For testng only + * + * @param so + */ + public static void setInstance(SequenceOntologyI so) { - Instance j = Instance.getInstance(); - if (j.sequenceOntology == null) - { - j.sequenceOntology = new SequenceOntologyLite(); - } - return j.sequenceOntology; + getInstance().sequenceOntology = so; } - public static void setInstance(SequenceOntologyI so) + private SequenceOntologyI sequenceOntology; + + private SequenceOntologyFactory() { - Instance.getInstance().sequenceOntology = so; + // private singleton } + + private static synchronized SequenceOntologyFactory getInstance() + { + Instance j = Instance.getInstance(); + return (j.sequenceOntologyFactory == null + ? j.sequenceOntologyFactory = new SequenceOntologyFactory() + : j.sequenceOntologyFactory); + } + }