tach,
habe kleines JAVA-problem :
Instanz einer Klasse mit recht vielen Membern (private mit entsprechenden Gettern/Settern) wird von einem Frotend befüllt - möchte die Klasse mit den eingegeben Werten an eine Funktion einer anderen Klasse übergeben, die via Reflection die Klassenmenber durchgeht und die Werte aneinandergekettet in einen String schreibt (für DB-zugirff).
Die Funktion sollte so allgemein wie möglich sein, um auch ähnliche Klassen reinschieben zu können.
Stelle es mir ungefähr so vor :
wer kann helfen ?
Thanx
habe kleines JAVA-problem :
Instanz einer Klasse mit recht vielen Membern (private mit entsprechenden Gettern/Settern) wird von einem Frotend befüllt - möchte die Klasse mit den eingegeben Werten an eine Funktion einer anderen Klasse übergeben, die via Reflection die Klassenmenber durchgeht und die Werte aneinandergekettet in einen String schreibt (für DB-zugirff).
Die Funktion sollte so allgemein wie möglich sein, um auch ähnliche Klassen reinschieben zu können.
Stelle es mir ungefähr so vor :
Code:
public String BuildStringFromClassmenbers(Class myclass){
Field[] classFields = myclass.getDeclaredFields();
for(int i = 0; i < classFields.length;i++){
Field myField = classFields[i];
// Funktion von mir, die noch recht pappig den Namen der GetMethode liefert ;-)
String methodName = findMethodGet(myclass, myField);
Class theClass = Class.forName(myclass.getName);
Object myObj = theClass.newInstance();
// brauchte hier ja neue Instanz für späteres m.invoke(), leider sind jetzt meine Werte aus den eingabefeldern
// nicht mehr da :-(
// clonen klappt hier auch nicht richtig (?) und nachträgliches myObj = myclass führt bei invoke zu Exception
Method[] methArray = the_class.getMethods();
int mSize = methArray.legth;
for(int i = 0; i < mSize; i++){
Method m = methArray[i];
if(m.getName().equals(methodName)){
// hier fehlts eben :-> die Typumwandlung krieg ich noch hin, weiss aber nicht wie ich die Werte aus der
// befüllten Klasse hier zurückkriege
retvalnachcast = (Cast) m.invoke(myObj, new Object[]{});
// Hier will ichs dann noch an den String hängen
// String bla += retvalnachcast
}
}
}
}
wer kann helfen ?
Thanx