made getmap static
[sw/motorsim] / src / com / billkuker / rocketry / motorsim / fuel / FuelResolver.java
1 package com.billkuker.rocketry.motorsim.fuel;\r
2 \r
3 import java.net.URI;\r
4 import java.util.Collections;\r
5 import java.util.HashMap;\r
6 import java.util.Map;\r
7 \r
8 import com.billkuker.rocketry.motorsim.Fuel;\r
9 \r
10 public class FuelResolver {\r
11         public static class FuelNotFound extends Exception {\r
12                 private static final long serialVersionUID = 1L;\r
13         }\r
14 \r
15         private static Map<URI, Fuel> fuels = new HashMap<URI, Fuel>();\r
16 \r
17         static {\r
18                 add(new KNSB());\r
19                 add(new KNDX());\r
20                 add(new KNSU());\r
21                 add(new KNER());\r
22         }\r
23         \r
24         public static Map<URI, Fuel> getFuelMap(){\r
25                 return Collections.unmodifiableMap(fuels);\r
26         }\r
27 \r
28         public static Fuel getFuel(URI u) throws FuelNotFound {\r
29                 if (fuels.containsKey(u))\r
30                         return fuels.get(u);\r
31                 return tryResolve(u);\r
32         }\r
33 \r
34         private static Fuel tryResolve(URI u) throws FuelNotFound {\r
35                 throw new FuelNotFound();\r
36         }\r
37 \r
38         private static void add(Fuel f) {\r
39                 fuels.put(f.getURI(), f);\r
40         }\r
41 }\r