Genau!
Die ArrayList enthält StorageItem Objekte, die durch die write... Funktionen erzeugt werden.
Das StorageItem Objekt enthält 3 Eigenschaften:
Code:
String Key
String Type
Object Value
Das StorageItem Objekt, welches bei dem oben genannten Beispiel erzeugt würde, würde dann so aussehen:
Code:
Key=window.position.left
Type=integer
Value=100
Beim speichern der ArrayList werden dann die einzelnen Elemente durchlaufen.
Code:
public void saveToFile (
String FileName )
{
try
{
/* Dokument erstellen */
Document doc = domBuilder.newDocument ();
/* Root Knoten erstellen */
Element rootNode = doc.createElement ( RootNode );
doc.appendChild ( rootNode );
String[] elements;
// Data ist die ArrayList...
for( int i = 0 ; i < Data.size() ; i++ )
{
elements = Data.get(i).getKey.split("\\.");
// Hier liegt das Problem. Das elements Array enthält jetzt die
// zu erstellenden Knoten.
// Aber wie erstelle ich jetzt die einzelnen Knoten und deren Unterknoten,
// Bzw. prüfe auf die Existenz eines Knotens???
}
/* Speichern */
TransformerFactory tranFactory = TransformerFactory.newInstance ();
Transformer aTransformer = tranFactory.newTransformer ();
Source src = new DOMSource ( doc );
Result dest = new StreamResult ( new File ( FileName ) );
aTransformer.transform ( src, dest );
}
catch(
Exception e)
{
System.err.println (e.toString ());
}
}
Das Problem ist nicht technischer, sondern geistiger Natur. Ich weiß zwar, wie ich einen einzelnen Knoten erstelle (-->RootNode), aber nicht, wie ich in möglichst wenig Schritten neue Knoten und deren Unterknoten erstellen kann.