Hallo zusammen,
seit geraumer Zeit beschäftige ich mich mit dem Thema Properties und versuche diese nach und nach in eine vorhandene Applikation zu implementieren. Ich habe mich dabei für die apache.commons.configuration API entschieden, da diese einfach zu handhaben und sämtliche Datenformate unterstützt, sollten sich diese mal ändern.
Viele Teilaspekte habe ich beim Durcharbeiten des How'to schnell verstanden, jedoch fehlt mir offenbar der letzte Funke für das Große & Ganze. Ich hoffe ihr könnt mir helfen. Und zwar geht es darum, wie ich die Properties letztendlich verwalte.
Möglichkeit 1:
Ist es sinnvoll sich vorweg eine Default-Properties Klasse zu schreiben, die alle Properties von vornerein einmal in ein default.properties-File schreibt und dann aufbauend auf diesem Propertyfile man zur Laufzeit einfach via setProperty die Werte zuweist? Nachteil wäre, dass sich diese Variante nicht so leicht pflegen lässt, da jede Änderung immer gleich an zwei Stellen vorgenommen werden müsste. oder
Möglichkeit 2:
Baut man zur Laufzeit ein Propertyfile auf, womöglich mit einem eigenen überschriebenen setter, welcher zunächst prüft, ob dieses Property bereits vorhanden ist. Falls nicht, lege dieses Property im File an, falls doch, setze es einfach auf den übergebenen Wert? Hier wäre der Nachteil, dass sich die Verwaltung unterschiedlicher Property-Files dadurch etwas erschwert, da diese je nach Abfolge unterschiedlicher Aufrufe anders strukturiert sein können.
Das Ganze gestaltet sich nicht so einfach, da ich Properties, wie default, "last-used" und userspezifische Properties unterstützen möchte, daher hoffe ich, dass ich meinen Gewissenskonflikt ausgiebig darstellen konnte und ihr mir vielleicht einen Ansatz geben könnt, um mich ein Wenig in die richtige Spur zu leiten.
Vielen Dank,
ymene
seit geraumer Zeit beschäftige ich mich mit dem Thema Properties und versuche diese nach und nach in eine vorhandene Applikation zu implementieren. Ich habe mich dabei für die apache.commons.configuration API entschieden, da diese einfach zu handhaben und sämtliche Datenformate unterstützt, sollten sich diese mal ändern.
Viele Teilaspekte habe ich beim Durcharbeiten des How'to schnell verstanden, jedoch fehlt mir offenbar der letzte Funke für das Große & Ganze. Ich hoffe ihr könnt mir helfen. Und zwar geht es darum, wie ich die Properties letztendlich verwalte.
Möglichkeit 1:
Ist es sinnvoll sich vorweg eine Default-Properties Klasse zu schreiben, die alle Properties von vornerein einmal in ein default.properties-File schreibt und dann aufbauend auf diesem Propertyfile man zur Laufzeit einfach via setProperty die Werte zuweist? Nachteil wäre, dass sich diese Variante nicht so leicht pflegen lässt, da jede Änderung immer gleich an zwei Stellen vorgenommen werden müsste. oder
Möglichkeit 2:
Baut man zur Laufzeit ein Propertyfile auf, womöglich mit einem eigenen überschriebenen setter, welcher zunächst prüft, ob dieses Property bereits vorhanden ist. Falls nicht, lege dieses Property im File an, falls doch, setze es einfach auf den übergebenen Wert? Hier wäre der Nachteil, dass sich die Verwaltung unterschiedlicher Property-Files dadurch etwas erschwert, da diese je nach Abfolge unterschiedlicher Aufrufe anders strukturiert sein können.
Das Ganze gestaltet sich nicht so einfach, da ich Properties, wie default, "last-used" und userspezifische Properties unterstützen möchte, daher hoffe ich, dass ich meinen Gewissenskonflikt ausgiebig darstellen konnte und ihr mir vielleicht einen Ansatz geben könnt, um mich ein Wenig in die richtige Spur zu leiten.
Vielen Dank,
ymene