Hallo,
ich beschäftige mich zur zeit mit dem play framework in der version 1.2.5 und habe nun folgende frage:
ich habe viele Methoden in einem Controller, die alle "das gleiche" machen:
ich würde nun gerne eine allgemeine Methode schreiben, die alle anderen ersetzt.
Das Problem ist, dass die verschiedenen callculations unterschiedliche variablen haben, auf die ich jeweils in einer view zugreife.
Wenn ich nun eine Methode mit dem Interface als Datentyp formuliere, kann ich nicht mehr auf die Variablen zugreifen:
Gibt es eine Möglichkeit, der Methode beim aufruf den Datentyp des Übergabeparameters mitzuteilen?
ich habe auch schon an generische Datentypen gedacht, aber da kann man bei einer Methode ja nicht explizit den Datentyp definieren, wenn man sie aufruft. (oder liege ich da falsch?)
Gruß,
Bober
ich beschäftige mich zur zeit mit dem play framework in der version 1.2.5 und habe nun folgende frage:
ich habe viele Methoden in einem Controller, die alle "das gleiche" machen:
Java:
public static void run0(Calculation0 calculation) {
calculation.calculate();
renderTemplate("Calc_output/0.html",t,calculation);
}
public static void run1(Calculation1 calculation) {
calculation.calculate();
renderTemplate("Calc_output/1.html",t,calculation);
}
public static void run2(Calculation2 calculation) {
calculation.calculate();
renderTemplate("Calc_output/2.html",t,calculation);
}
ich würde nun gerne eine allgemeine Methode schreiben, die alle anderen ersetzt.
Das Problem ist, dass die verschiedenen callculations unterschiedliche variablen haben, auf die ich jeweils in einer view zugreife.
Code:
#{field calculation.a'}
<div class="field">
<label for="${field.id}">Desired username : </label>
<input id="${field.id}" type="text" name="${field.name}" value="${field.value}" class="${field.errorClass}" />
<span class="error">${field.error}</span>
</div>
#{/field}
Wenn ich nun eine Methode mit dem Interface als Datentyp formuliere, kann ich nicht mehr auf die Variablen zugreifen:
Java:
public static void run(Calculation calculation,int t) {
calculation.calculate();
renderTemplate("Calc_output/"+t+".html",t,calculation);
}
Gibt es eine Möglichkeit, der Methode beim aufruf den Datentyp des Übergabeparameters mitzuteilen?
ich habe auch schon an generische Datentypen gedacht, aber da kann man bei einer Methode ja nicht explizit den Datentyp definieren, wenn man sie aufruft. (oder liege ich da falsch?)
Java:
public static <T extends Calculation> void run(T calculation, int t) {
calculation.calculate();
renderTemplate("Calc_output/"+t+".html",t,calculation);
}
Gruß,
Bober