Klassen klonen

Status
Nicht offen für weitere Antworten.

smorphia

Neues Mitglied
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 :

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
 
hi,

nein, ist mir unbekannt, DB-Zugriff ist an der Stelle auch nicht so wichtig....

> sobald ich es schaffe, dynamisch auf die Getter der übergebenen Klassen zuzugreifen, bin ich grün....


🙂


see ya
 
Status
Nicht offen für weitere Antworten.

Zurück
Oben