dba296e369ea5e3fc3b42a7f74b758e4a4afc52d
[Mograsim.git] / net.mograsim.preferences / src / net / mograsim / preferences / Preferences.java
1 package net.mograsim.preferences;
2
3 import java.util.Objects;
4
5 import org.eclipse.swt.graphics.Color;
6
7 public abstract class Preferences
8 {
9         private static Preferences currentPreferences;
10
11         public static void setPreferences(Preferences preferences)
12         {
13                 currentPreferences = Objects.requireNonNull(preferences);
14         }
15
16         public static Preferences current()
17         {
18                 if (currentPreferences == null)
19                         currentPreferences = new DefaultPreferences();
20                 return currentPreferences;
21         }
22
23         public abstract int getInt(String name);
24
25         public abstract double getDouble(String name);
26
27         public abstract ColorDefinition getColorDefinition(String name);
28
29         public Color getColor(String name)
30         {
31                 return ColorManager.current().toColor(getColorDefinition(name));
32         }
33 }