Schlüsselworte Einstellungen dynamisch deserialisieren

fc90

Mitglied
Hallo zusammen,

ich sitze jetzt schon eine Weile vor einem Problemchen und habe leider mittlerweile keine Idee mehr wie ich das effizient gelöst bekomme. Ich hoffe mir kann da jemand helfen.

Ich habe eine Reihe von Einstellungen die ich dynamisch laden möchte. Dazu habe ich mir schon eine Singleton-Klasse gemacht aus der ich die Einstellungen dann abrufen kann.

Jede Einstellungs-Klasse erbt von dieser Klasse:
Java:
public abstract class SettingsManager implements Serializable{

    private String name;
    private String fileName;

    public SettingsManager(String name) {
        this.name = name;
        this.fileName = "settings" + File.separator + name + ".set";
    }
    
    public String getName()
    {
        return name;
    }

    public String getFileName() {
        return fileName;
    }

}

Zur Zeit deserialisiere ich die Klassen immer beim Programmstart (alle auf einmal). Nun würde ich gerne wenn ich Singleton-Klasse.getInstance().getEinstellung() mache automatisch die entsprechende Einstellung geladen haben wollen. Geht sowas? Und wenn ja wie?

Schon im Vorraus Danke für jede Hilfe.
 

Wildcard

Top Contributor
Dazu habe ich mir schon eine Singleton-Klasse gemacht aus der ich die Einstellungen dann abrufen kann.

Jede Einstellungs-Klasse erbt von dieser Klasse:
Ein Singleton das vererbt und (de-)serialisiert wird? Das passt nicht so wirklich... ;)

Die ganze Idee mit Serialisieren ist suboptimal. Schau dir mal die Java Preferences API an.
 

fc90

Mitglied
Das Singleton verwaltet mir nur die ganze Sache mit der (De)-Serialisierung. Es wird selbst nicht mit abgespeichert.

Mit der Prefences API hatte ich mich auch schon mal beschäftigt, aber die fand ich für mein Problem nicht so toll. Ich werde es mir aber jetzt noch einmal genauer anschauen und ein bisschen testen.
Vielen Dank für deinen Hinweis.
 

Wildcard

Top Contributor
Serialisierung ist IMO immer eine schlechte Form der Persistenz, da du dich an eine ganz konkrete Implementierung bindest und diese auch später nicht mehr einfach ändern kannst.
Serialisieren ist ok für Objekte übers Netzwerk zu schicken, oder ins Clipboard zu packen, aber Persistenz, eher nicht.
 

fc90

Mitglied
Das hatte ich leider schon zu spüren bekommen, weil jedes Mal wenn an den Einstellungen auch nur das Kleinste geändert wurde mussten die Nutzer alles neu einstellen.

Zwei Probleme habe ich aber noch:
1. Wie setze ich am besten Standardeinstellungen? (für den Fall ein Wert existiert noch nicht, oder ist leer)
Sollte ich da am besten eine Klasse zwischenschalten, die prüft ob die Einstellung vorhanden ist und sonst das ganze aus einem Standard-Properties-File lädt?

2. Ich hatte vorher bestimmte Klassen (in meinem Fall beispielsweise Fahrzeuge mit bestimmten Eigenschaften) direkt als Klasse deserialisiert. Benennt man da die Einstellungen direkt einfach mit car1, car2, usw.? Oder gibt es da eine sinvollere Möglichkeit?
 
Zuletzt bearbeitet:

Wildcard

Top Contributor
1. Wie setze ich am besten Standardeinstellungen? (für den Fall ein Wert existiert noch nicht, oder ist leer)
Sollte ich da am besten eine Klasse zwischenschalten, die prüft ob die Einstellung vorhanden ist und sonst das ganze aus einem Standard-Properties-File lädt?
In der Java Preferences API übergibt man den Default direkt beim Aufruf. Das bedeutet dann, gib mir den Wert wenn vorhanden, ansonsten den Default.
Preferences (Java 2 Platform SE v1.4.2)

2. Ich hatte vorher bestimmte Klassen (in meinem Fall beispielsweise Fahrzeuge mit bestimmten Eigenschaften) direkt als Klasse deserialisiert. Benennt man da die Einstellungen direkt einfach mit car1, car2, usw.? Oder gibt es da eine sinvollere Möglichkeit?
Java Preferences ist eine Baumstruktur mit benamsten Knoten. Du kannst also zB den Klassennamen als Schlüssel für den Knoten verwenden der die Properties für die Klasse enthält.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
M Kameradaten bzw. Einstellungen herausfinden Allgemeine Java-Themen 9
J GUI-Einstellungen mittels Preferences Allgemeine Java-Themen 6
M DYGraphen darstellen... fehlende Einstellungen Allgemeine Java-Themen 1
B Fehler beim Auslesen von Einstellungen. Zwei ähnliche Blöcke, nur eins geht. Allgemeine Java-Themen 5
M Einstellungen in JAR speichern Allgemeine Java-Themen 8
I Einstellungen für ein Programm speichern Allgemeine Java-Themen 5
E Welches Dateiformat für gespeicherte Einstellungen? Allgemeine Java-Themen 20
E FF Einstellungen über Programm ändern? Allgemeine Java-Themen 7
L RMI Die richtigen Policy-Einstellungen oder einfach Signieren? Allgemeine Java-Themen 3
M Speichern von Einstellungen Allgemeine Java-Themen 13
Mr.Isaaaac Tomcat Proxy Einstellungen, hä? Allgemeine Java-Themen 3
T Drucken mit PrintJob und Einstellungen merken Allgemeine Java-Themen 3
eskimo328 Verwaltung Kundenspezifische Einstellungen Allgemeine Java-Themen 16
K Java Einstellungen Allgemeine Java-Themen 2
E Nicht Business-Logik Daten also Einstellungen wo speichern? Allgemeine Java-Themen 2
M Gloable Einstellungen Allgemeine Java-Themen 7
M Passwörter in Einstellungen speichern Allgemeine Java-Themen 2
S Java Editor einstellungen Allgemeine Java-Themen 4
M JVM Einstellungen in JAR einbetten Allgemeine Java-Themen 2
W Einstellungen verwalten Allgemeine Java-Themen 31
DEvent In Mehrbenutzersystemen Einstellungen speichern Allgemeine Java-Themen 8
TheJavaKid Einstellungen speichern ohne eine Datei zu erstellen! Allgemeine Java-Themen 19
D Probleme mit dem Drucker Einstellungen ! Allgemeine Java-Themen 5
M java Einstellungen Allgemeine Java-Themen 5
M problem mit packages - falsche einstellungen? Allgemeine Java-Themen 2
K Einstellungen aus Windows und Linux ermitteln Allgemeine Java-Themen 2
berserkerdq2 Jemand einen Tipp wie man ein Javafx-Hintergrund "dynamisch" macht Allgemeine Java-Themen 3
E RMI FWH: RMI- Wie erstelle ich stubs dynamisch, bzw. unterdrücke eine Statisch-Warnung? Allgemeine Java-Themen 0
S Maven Jars dynamisch laden / Plugin-Struktur erstellen Allgemeine Java-Themen 14
T Statisch und dynamisch Allgemeine Java-Themen 1
MiMa Variableninhalte dynamisch abfragen Allgemeine Java-Themen 12
D Methode dynamisch aufrufen Allgemeine Java-Themen 2
S Externe Eclipse Projekte dynamisch einbinden Allgemeine Java-Themen 3
Thallius Externe .jar dynamisch einbinden Allgemeine Java-Themen 5
C Erste Schritte Baumstruktur (dynamisch) Allgemeine Java-Themen 9
F JTree: Nodes dynamisch anlegen via LinkedHashMap Allgemeine Java-Themen 2
B Reflection, invoke dynamisch befüllen Allgemeine Java-Themen 3
M Klassen Klasse Dynamisch laden und Konstruktor aufrufen Allgemeine Java-Themen 1
J rxtxserial.dll für 32 oder 64bit dynamisch einbinden Allgemeine Java-Themen 9
F Dynamisch ein Objekt einer bestimmten Subklasse erstellen Allgemeine Java-Themen 7
W Dateinamen dynamisch Parsen Allgemeine Java-Themen 12
T Classpath Klassen dynamisch erstellen Allgemeine Java-Themen 4
S LaTeX Code in dynamisch erzeugten PDF's Allgemeine Java-Themen 8
X Dynamisch Konstruktor aufrufen Allgemeine Java-Themen 12
hdi Ressourcen dynamisch zur Laufzeit laden Allgemeine Java-Themen 15
A Klassen dynamisch aus jar-datei laden Allgemeine Java-Themen 5
J instanceof vermeiden und stattdessen dynamisch binden Allgemeine Java-Themen 6
M Konstruktoraufruf dynamisch auswerten und SQL bauen Allgemeine Java-Themen 10
E Variable dynamisch ausgeben Allgemeine Java-Themen 5
Tandibur pattern dynamisch vorkompilieren Allgemeine Java-Themen 9
T Objekt dynamisch neu erstellen/ austauschen Allgemeine Java-Themen 9
T Dynamisch getypte Klasseninstanz? Allgemeine Java-Themen 6
H getText(); bei dynamisch generierten JTextFiled Allgemeine Java-Themen 2
F Wie erfahre ich dynamisch den namen eines aktuellen Objektes Allgemeine Java-Themen 2
S Asymmetrisches Array dynamisch erzeugen Allgemeine Java-Themen 4
T Objekte dynamisch über eine Methode erzeugen Allgemeine Java-Themen 10
R Object Dynamisch erzeugen (Reflection API) Allgemeine Java-Themen 22
P RTF dynamisch machen (IText, Swing) Allgemeine Java-Themen 4
B Listener dynamisch setzen Allgemeine Java-Themen 6
P Klasse Dynamisch laden und zurückgeben Allgemeine Java-Themen 17
P Array Dynamisch vergrößern Allgemeine Java-Themen 7
B objekt einer klasse dynamisch erzeugen Allgemeine Java-Themen 6
G Objekt dynamisch erstellen und Inhalte kopieren Allgemeine Java-Themen 6
C Dynamisch Objekte unterschiedlicher Typen erzeugen Allgemeine Java-Themen 6
D Klassen dynamisch laden Allgemeine Java-Themen 5
E Arrays -> dynamisch Allgemeine Java-Themen 21
K Methoden dynamisch erstellen Allgemeine Java-Themen 12
P Dynamisch casten - möglich? wie? Allgemeine Java-Themen 5
T Klassen dynamisch ausführen Allgemeine Java-Themen 3
N Graphische Oberfläche dynamisch erweitern möglich? Allgemeine Java-Themen 4
B Absolute Paf einer Klasse in dieser dynamisch auslesen? Allgemeine Java-Themen 5
K Klasse dynamisch casten Allgemeine Java-Themen 14
Reeny Dynamisch Klassen kompilieren Allgemeine Java-Themen 5
G JDO Dynamisch ? Allgemeine Java-Themen 2
H Objekte m. versch. Interf. dynamisch erzeugen Allgemeine Java-Themen 11
E Klasse dynamisch über main-Methode aufrufen Allgemeine Java-Themen 9
D Strings dynamisch füllen Allgemeine Java-Themen 5
A Dynamisch Attribute hinzufügen Allgemeine Java-Themen 3
F Gson deserialisieren mit PropertyChangeSupport Allgemeine Java-Themen 4
C Deserialisieren von unterschiedlichen Klasseninstanzen Allgemeine Java-Themen 13
M Objekt serialisieren/deserialisieren und in einer SQLite-Datenbank speichern Allgemeine Java-Themen 3
T Objekt 2x deserialisieren, aber nur 1x im Heap haben? Allgemeine Java-Themen 4
X Objekte aus TableModel serialisieren und deserialisieren Allgemeine Java-Themen 4
A Problem beim serialisieren/deserialisieren einer ArrayList Allgemeine Java-Themen 3
S Deserialisieren mit anderem Klassennamen Allgemeine Java-Themen 5
G Direkt in ein Objekt deserialisieren Allgemeine Java-Themen 5
B Nach Deserialisieren: Elemente des JFrames ohne Funktion Allgemeine Java-Themen 5
P Servlet, Deserialisieren, StreamCorruptedException Allgemeine Java-Themen 9

Ähnliche Java Themen

Neue Themen


Oben