Package pi.config
Class ConfigGroup
java.lang.Object
pi.config.ConfigGroup
- Direct Known Subclasses:
CoordinatesystemConfig,DebugConfig,GameConfig,GraphicsConfig,MyConfigGroup,SoundConfig
Diese Klasse enthält grundlegende Funktionalität für alle
Einstellungsgruppen.
Sie liest die ConfigGroupInfo-Annotation aus und ermittelt den
Präfix, der beim Lesen und Schreiben der Einstellungen in eine
Properties-Datei verwendet wird.
- Since:
- 0.42.0
- Author:
- Steffen Wilke, Matthias Wilke
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected voidinitializeByProperty(String key, String value) Initialisiert eine Eigenschaft anhand ihres Schlüssels und Werts.onChanged(ConfigurationChangedListener listener) Fügt den angegebenen Beobachter, der Ereignisse über geänderte Konfigurationseigenschaften empfängt, hinzu.prefix()Gibt den Präfix der Konfigurationsgruppe zurück.voidremoveListener(ConfigurationChangedListener listener) Entfernt den angegebenen Beobachter.protected <T> voidSetzt eine Konfigurationseigenschaft und löst dabei dasconfigurationChanged-Ereignis aus.protected voidstoreProperties(Properties properties) Speichert die Eigenschaften.
-
Constructor Details
-
ConfigGroup
protected ConfigGroup()Erstellt eine neue Instanz der KlasseConfigGroup.
-
-
Method Details
-
onChanged
Fügt den angegebenen Beobachter, der Ereignisse über geänderte Konfigurationseigenschaften empfängt, hinzu.Das Ereignis wird für jede Eigenschaft unterstützt, die die Methode
set(String, Object)zum Setzen des Feldwerts verwendet.Das Ereignis liefert den Feldnamen des aufgerufenen Setters (z.B. "debug" für den Aufruf von "debug()").
- Parameters:
listener- Der hinzuzufügende Beobachter.- Returns:
- Der hinzugefügte Beobachter. Falls der Beobachter als
Lambda-Funktion angegeben wird, dann kann er mit diesem Rückgabewert
in eine Variable bzw. Attirubte gespeichert werden. Dieser kann dann
mit der
removeListener(ConfigurationChangedListener)-Methode entfernt werden. - See Also:
-
removeListener
Entfernt den angegebenen Beobachter.- Parameters:
listener- Der zu entfernende Beobachter.
-
prefix
Gibt den Präfix der Konfigurationsgruppe zurück.- Returns:
- Der Präfix der Konfigurationsgruppe, oder ein leerer String,
falls der Präfix
nullist.
-
initializeByProperty
Initialisiert eine Eigenschaft anhand ihres Schlüssels und Werts.- Parameters:
key- Der Schlüssel der Eigenschaft.value- Der Wert der Eigenschaft.
-
storeProperties
Speichert die Eigenschaften. Standardmäßig werden folgende Typen unterstützt: boolean, int, double, float, String und Enum-Werte. Für andere Objekte sollte diese Methode sowieinitializeByProperty(String, String)überschrieben und ein eigener Ansatz implementiert werden.- Parameters:
properties- Die zu befüllenden Properties.
-
set
Setzt eine Konfigurationseigenschaft und löst dabei dasconfigurationChanged-Ereignis aus.- Type Parameters:
T- Der Typ des zu setzenden Werts.- Parameters:
fieldName- Der Name des zu setzenden Felds.value- Der zu setzende Wert.
-