f24985644b3b62b54013ba7ac6828d704d744198
[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 boolean getBoolean(String name);
24
25         public abstract int getInt(String name);
26
27         public abstract double getDouble(String name);
28
29         public abstract ColorDefinition getColorDefinition(String name);
30
31         public Color getColor(String name)
32         {
33                 return ColorManager.current().toColor(getColorDefinition(name));
34         }
35 }