Clover icon

Coverage Report

  1. Project Clover database Thu Dec 4 2025 16:11:35 GMT
  2. Package jalview.io.gff

File SequenceOntologyFactory.java

 

Coverage histogram

../../../img/srcFileCovDistChart10.png
0% of files have more coverage

Code metrics

2
4
4
1
83
26
5
1.25
1
4
1.25

Classes

Class Line # Actions
SequenceOntologyFactory 34 4 5
1.0100%
 

Contributing tests

This file is covered by 98 tests. .

Source view

1    /*
2    * Jalview - A Sequence Alignment Editor and Viewer ($$Version-Rel$$)
3    * Copyright (C) $$Year-Rel$$ The Jalview Authors
4    *
5    * This file is part of Jalview.
6    *
7    * Jalview is free software: you can redistribute it and/or
8    * modify it under the terms of the GNU General Public License
9    * as published by the Free Software Foundation, either version 3
10    * of the License, or (at your option) any later version.
11    *
12    * Jalview is distributed in the hope that it will be useful, but
13    * WITHOUT ANY WARRANTY; without even the implied warranty
14    * of MERCHANTABILITY or FITNESS FOR A PARTICULAR
15    * PURPOSE. See the GNU General Public License for more details.
16    *
17    * You should have received a copy of the GNU General Public License
18    * along with Jalview. If not, see <http://www.gnu.org/licenses/>.
19    * The Jalview Authors are detailed in the 'AUTHORS' file.
20    */
21    package jalview.io.gff;
22   
23    import jalview.bin.ApplicationSingletonProvider;
24    import jalview.bin.ApplicationSingletonProvider.ApplicationSingletonI;
25   
26    /**
27    * A factory class that returns a model of the Sequence Ontology. By default a
28    * hard-coded subset is used (for the applet, or testing), or setInstance() can
29    * be used to set full Ontology data.
30    *
31    * @author gmcarstairs
32    *
33    */
 
34    public class SequenceOntologyFactory implements ApplicationSingletonI
35    {
36    /**
37    * Answers an instance of this class for the current application context. Note
38    * that this supports running two JS 'applets' on the same page, one with the
39    * full Sequence Ontology (USE_FULL_SO = true) and one with a hard-coded
40    * subset (USE_FULL_SO = false). If this is overkill, could change this method
41    * to just return a common static instance.
42    *
43    * @return
44    */
 
45  300 toggle private static synchronized SequenceOntologyFactory getInstance()
46    {
47  300 return ApplicationSingletonProvider
48    .getInstance(SequenceOntologyFactory.class);
49    }
50   
 
51  53 toggle private SequenceOntologyFactory()
52    {
53    // private singleton
54    }
55   
56   
57    /**
58    * Answers the configured model of the Sequence Ontology.
59    *
60    * @return
61    */
 
62  153 toggle public static synchronized SequenceOntologyI getSequenceOntology()
63    {
64  153 SequenceOntologyFactory f = getInstance();
65  153 return (f.sequenceOntology == null
66    ? f.sequenceOntology = new SequenceOntologyLite()
67    : f.sequenceOntology);
68    }
69   
70    /**
71    * For testng only
72    *
73    * @param so
74    */
 
75  147 toggle public static void setSequenceOntology(SequenceOntologyI so)
76    {
77  147 getInstance().sequenceOntology = so;
78    }
79   
80   
81    private SequenceOntologyI sequenceOntology;
82   
83    }