KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > de > uka > ipd > coverage > natures > CoverageNatureFactory


1 /*
2  * Created on Sep 3, 2004
3  * @author Matthias Kempka
4  */

5 package de.uka.ipd.coverage.natures;
6
7 import de.uka.ipd.coverage.natures.all_uses.AllUsesCoverageNature;
8 import de.uka.ipd.coverage.plugin.ui.CoverageNatureDescriptor;
9
10
11 /**
12  * @author Matthias Kempka
13  *
14  */

15 public class CoverageNatureFactory {
16
17     private CoverageNature selectedNature = new BlockCoverageNature();
18 // private static CoverageNature selectedNature = new AllUsesCoverageNature();
19

20     private static CoverageNatureFactory instance = null;
21     
22     public static CoverageNatureFactory getInstance() {
23         if (instance == null) {
24             instance = new CoverageNatureFactory();
25         }
26         return instance;
27     }
28     
29     private CoverageNatureFactory() {
30     }
31     
32     public static CoverageNature getNature() {
33         return getInstance().selectedNature;
34     }
35     
36     /**
37      * @param id the id given from the CoverageNatureDescriptor.
38      */

39     public void setCoverageNature(String JavaDoc id) {
40         if (BlockCoverageNature.DESCRIPTOR.getID().equals(id)) {
41             selectedNature = new BlockCoverageNature();
42         } else if (AllUsesCoverageNature.DESCRIPTOR.getID().equals(id)) {
43             selectedNature = new AllUsesCoverageNature();
44         }
45     }
46     
47     public CoverageNatureDescriptor getSelectedNature() {
48         return selectedNature.getCoverageNatureDescriptor();
49     }
50     
51     public CoverageNatureDescriptor[] getAvailableNatures() {
52         return new CoverageNatureDescriptor[] {
53             BlockCoverageNature.DESCRIPTOR,
54             AllUsesCoverageNature.DESCRIPTOR,
55         };
56     }
57
58 }
59
Popular Tags