Hi!
habe folgendes Problem: Habe zwei klassen, welche aufeinander verweisen sollen, dabei ist aber eine Klassenhirarchie von einer generischen Klasse abgeleitet. Jetzt bekomme ich es nicht hin, wie ich die Instanzen initialisieren soll, damit diese aufeinander verweisen sollen.
Hier mal das beispiel:
Ich möchte beim Anlengen eines neuen Parametertyps ( zB.: new ParamA(....) ) im konstruktor den dazugehörigen Generator übergeben.
Mein Problem ist, dass der Generator auch vom Parameter wissen muss. Jetzt möchte ich alles in einem schritt erledigen, d.h. ich wollte im Konstruktor vom ParameterGeneric die setParam funktion des übergebenen Generators ausführen, was natürlich nicht funktioniert, da es eube Wildcard-Referenz ist!
Ich möchte soetwas, wie:
p = new Param
g = new Generator
p.setGenerator(g)
g.setParam(p)
verhindern und das alles, was nöti ist mehr oder weniger automatisch passiert!
könnt ihr mir da weiter helfen? irgendwelche vorschläge, wie man soetwas machen kann?
danke!
habe folgendes Problem: Habe zwei klassen, welche aufeinander verweisen sollen, dabei ist aber eine Klassenhirarchie von einer generischen Klasse abgeleitet. Jetzt bekomme ich es nicht hin, wie ich die Instanzen initialisieren soll, damit diese aufeinander verweisen sollen.
Hier mal das beispiel:
Code:
abstract class GeneratorGeneric<T extends ParameterGeneric> {
T param;
Generic( T param ) {
this.param = param;
}
public setParam( T param ){
this.param = param;
}
public abstract generate();
}
class GeneratorParamA extends GeneratorGeneric<ParamA> {
T param;
Generic( ParamA param ) {
super(param)
}
public void generate()
{
.....
}
}
class ParameterGeneric {
GeneratorGeneric<?> generator;
ParameterGeneric( GeneratorGeneric<?> generator ){
this.generator = generator;
// geht nicht, da Wildcard-Zugriff
// this.generator.setParam( this );
}
}
class ParamA {
.....
......
}
Ich möchte beim Anlengen eines neuen Parametertyps ( zB.: new ParamA(....) ) im konstruktor den dazugehörigen Generator übergeben.
Mein Problem ist, dass der Generator auch vom Parameter wissen muss. Jetzt möchte ich alles in einem schritt erledigen, d.h. ich wollte im Konstruktor vom ParameterGeneric die setParam funktion des übergebenen Generators ausführen, was natürlich nicht funktioniert, da es eube Wildcard-Referenz ist!
Ich möchte soetwas, wie:
p = new Param
g = new Generator
p.setGenerator(g)
g.setParam(p)
verhindern und das alles, was nöti ist mehr oder weniger automatisch passiert!
könnt ihr mir da weiter helfen? irgendwelche vorschläge, wie man soetwas machen kann?
danke!