tutorials.de Buch-Aktion 05/2012
Like Tree1Danke
  • 1 Beitrag von Bratkartoffel
ERLEDIGT
JA
ANTWORTEN
5
ZUGRIFFE
369
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Registriert seit
    Nov 2002
    Beiträge
    383
    Hey,

    ich nutze eine 3rd Party Jar und muss auf ein paar private Felder zugreifen. Für das erste Level funktioniert das auch ganz gut.

    Code :
    1
    2
    3
    4
    5
    
    Field dataSource = dstore.getClass().getDeclaredField("dataSource");
    dataSource.setAccessible(true);
                            
    org.geotools.data.jdbc.datasource.DBCPDataSource con = (org.geotools.data.jdbc.datasource.DBCPDataSource) dataSource
    .get(dstore);

    wenn jetzt ich jetzt auf ein privates Feld aus con zugreifen möchte:

    Code :
    1
    
    Field[] declaredFields = con.getClass().getDeclaredFields();

    landet leider nichts im Array, jedoch kann im dem Eclipse Debugger das private Feld sehen. Was mache ich falsch? Danke.

    Gruß Kon
     

  2. #2
    Avatar von Bratkartoffel
    Bratkartoffel Bratkartoffel ist offline gebratene Kartoffel
    tutorials.de Premium-User
    Registriert seit
    Jun 2007
    Ort
    Passau (Niederbayern)
    Beiträge
    1.394
    Hallo,

    hast du es auch mal mit der getFields() Methode versucht? Eventuell werden die Attribute nicht in der Klasse selbst definiert, sondern geerbt.

    Gruß
    BK
    bspainkf36 bedankt sich. 
    Über eine gute Bewertung freut sich jeder ;)
    Bitte erledigte Threads als "Erledigt" markieren.

    "Though a program be but three lines long, someday it will have to be maintained.''
    -- Geoffrey James, "The Tao of Programming"

  3. #3
    Avatar von Nico Graichen
    Nico Graichen Nico Graichen ist offline aka gemballa
    tutorials.de Moderator
    Registriert seit
    Dec 2003
    Ort
    Pulheim (NRW)
    Beiträge
    3.898
    Blog-Einträge
    34
    Hi

    ich würde dir raten, nicht auf private Propepertys zuzugreifen. Wenn der Hersteller der Klasse der Meinung ist, er braucht es nicht mehr, stehst du im Wald. Private Fields und Methoden sind nicht Bestandteil der Schnittstelle und können jederzeit geändert werden.
     
    Grüße Nico
    ----------------------
    Xing
    ----------------------
    Zitat Zitat von Mark Twain (1835-1910)
    Es gibt drei Dinge, die eine Frau aus dem Nichts hervorzaubern kann: einen Hut, einen Salat und einen Ehekrach.
    Zitat Zitat von Mike Wilson - Biographie über Larry Ellison (CEO Oracle)
    The Difference Between God and Larry Ellison: God Doesn't Think He's Larry Ellison

  4. #4
    Registriert seit
    Nov 2002
    Beiträge
    383
    Danke für den Tipp Damit hat es funktioniert:

    con.getClass().getSuperclass().getDeclaredFields();

    Mir ist klar, dass die Felder nicht zur Schnittstellendefinition gehört ... jedoch brauche ich die Werte Im Elfenbeinturm lässt sich immer leicht philosophieren, ich es muss jedoch umsetzten!

    Gruß Kon
    Geändert von bspainkf36 (01.10.10 um 14:14 Uhr)
     

  5. #5
    Avatar von Nico Graichen
    Nico Graichen Nico Graichen ist offline aka gemballa
    tutorials.de Moderator
    Registriert seit
    Dec 2003
    Ort
    Pulheim (NRW)
    Beiträge
    3.898
    Blog-Einträge
    34
    Zitat Zitat von bspainkf36 Beitrag anzeigen
    Mir ist klar, dass die Felder nicht zur Schnittstellendefinition gehört ... jedoch brauche ich die Werte Im Elfenbein lässt sich immer leicht philosophieren, muss es jedoch umsetzten!
    Hier geht es nicht um philosophieren sondern darum, dass du Code schreibst, der auf Sand baut!
     
    Grüße Nico
    ----------------------
    Xing
    ----------------------
    Zitat Zitat von Mark Twain (1835-1910)
    Es gibt drei Dinge, die eine Frau aus dem Nichts hervorzaubern kann: einen Hut, einen Salat und einen Ehekrach.
    Zitat Zitat von Mike Wilson - Biographie über Larry Ellison (CEO Oracle)
    The Difference Between God and Larry Ellison: God Doesn't Think He's Larry Ellison

  6. #6
    Registriert seit
    Nov 2002
    Beiträge
    383
    Generelle Aussagen sind schön und gut, jedoch passt einfach nicht jeder Deckel auf jeden Topf. Ich baue einen Prototypen - keine sicherheitsrelevante Anwendung um den nächsten ICE steuern zu können. Auch bleibt meinem Prototypen der Wechsel auf eine andere Version erspart.
     

Ähnliche Themen

  1. Reflections - Classpath Scanning Java API
    Von Thomas Darimont im Forum Java
    Antworten: 0
    Letzter Beitrag: 12.06.10, 01:15
  2. Compositing - reflections
    Von CREAGA im Forum 3D Studio Max
    Antworten: 5
    Letzter Beitrag: 21.09.07, 16:42
  3. URL aus Input-Feld lesen und im Fenster ausgeben
    Von todi im Forum Javascript & Ajax
    Antworten: 5
    Letzter Beitrag: 08.05.05, 23:06
  4. finalRender + blurry Reflections
    Von UltI im Forum 3D Studio Max
    Antworten: 12
    Letzter Beitrag: 25.07.04, 00:33
  5. Anisotropic Reflections
    Von Roaster im Forum 3D Studio Max
    Antworten: 29
    Letzter Beitrag: 06.06.04, 14:59