# Simple Constructor Injection Datei-Pfad



## ABCFreak (17. Mrz 2012)

Grüße,

ich hab vor zum serialisieren und de-serialisieren von Objekten "simple" zu benutzen.
Simple bietet ja eine constructor Injection mit der man bei einem Konstruktor angeben kann welche Elemente jeweils übergeben werden sollen.

Jetzt wäre es für mich praktisch wenn ich hier auch noch einen String übergeben bekommen könnte der den Dateipfad der XML Datei enthält. (also den Pfad den man beim de serialisieren angeben muss)

Gibt es diese Möglichkeit?


----------



## Marcinek (17. Mrz 2012)

Ohh - hier stand blödsinn ;D

Der Pfad müsste ja dann in der XML Datei stehen?


----------



## ABCFreak (17. Mrz 2012)

nein das meine ich nicht. Folgende Problemstellung (ich gebe zu es ist dafür eigentlich nicht gedacht):

Ich habe eine .PNG Datei. Eine Klasse kann mit zusätzlicher Beschreibung daraus eine Animation laden.


```
@Root 
public class SpritesheetAnimation {
	public SpritesheetAnimation(	@Element(name="fileName")	String fileName ){
// fileName ist RELATIV zur XML Datei NICHT vom projekt
}

	@Element (name="fileName")
	private String fileName;

}
```

so in der XML datei steht jetzt der Relative Dateiname z.B. "ladygaga.png" relativ vom XML nicht vom momentanen Arbeitsverzeichnis/Projektverzeichnis aus.

Vom Projektpfad aus soll das aber unter "./data/chars/" befinden. Hätte ich die möglichkeit im Konstruktor jetzt "./data/chars/ladygaga.png.xml" zu kriegen könnte ich die 2 dateien (also das PNG und das XML) immer zusammen umherschieben.

P.s. ich bin schlecht im erklären von solchen Sachen bitte um Nachsicht


----------



## Marcinek (17. Mrz 2012)

Aber das kannst du auch selber übergeben.

Den irgentwer weiß ja wo die XML Datei liegt.


----------



## ABCFreak (17. Mrz 2012)

ja werd ich wohl so machen müßen, wär halt nicht anders rum praktischer gewesen -_-
Wird dann darauf hinaus laufen, dass ich das XML normal Parse.

Aber danke


----------



## Marcinek (17. Mrz 2012)

Mach doch ein Configuration Object und da legst du den Pfad zu der XML Datei ab.

In deiner Application kannst du dann hier zentral den Pfad auslesen und dann beim getter entsprechend hinzufügen.

Kleine Änderung und dennoch maximale Funktionalität. Das nun nicht mit Simple zu machen aus diesem Grund ist wohl das "falscheste", was man machen kann.


----------



## ABCFreak (17. Mrz 2012)

Jo ich bin schon etwas müde und habs einfach "straight forward" implementiert. Auf die idee mit dem Memento bin ich jetzt auch gekommen -_- mit dem ergebnis: "du trottel! erst denken..."  ;(
Naja wenigstens etwas Fingerübung bekommen.

Danke nochmal!


----------

