2009-03-08 14 views
3

Ich habe versucht, einen benutzerdefinierten Feldhandler zu schreiben, die den Hash-Code eines java.awt.Image-Objekts beim Schreiben in XML zurückgibt und ein Image auf dieser Hashcode beim Binden der XML an ein Objekt. Aus irgendeinem Grund kann ich das nicht zur Arbeit bringen; Castor, von dem, was ich sagen kann, instanziiert einfach den Field-Handler und ruft dann keine seiner Methoden auf.Java-Castor mit benutzerdefinierten Feldhandlern

Können Sie mir ein kurzes Beispiel dafür geben, wie ich das tun muss, weil ich etwas Einfaches vermissen muss!

Cheers,

Pete

Antwort

1

Code einfügen kann eine gute Idee sein. Auf jeden Fall folgende Arbeiten gut für mich

<m:class name="someClass"> 
     <m:map-to xml="class"/> 
     <m:field name="lineColor" type="java.awt.Color" handler="ColorFieldHandler"> 
      <m:bind-xml name="lineColor" node="attribute"/> 
     </m:field> 
    </m:class> 

Und der Handler selbst

public class ColorFieldHandler extends GeneralizedFieldHandler { 
    public Object convertUponGet(Object value) { 
     if (value == null) { 
      return null; 
     } 
     Integer colorHash = (Integer) value; 
    ... 

Hoffnung, die

+0

Actualy hilft, die nur ein Beispiel aus meinem Projekt ist, leicht modifiziert. Natürlich sollten Sie das Typattribut entsprechend ändern und die Methode convertUponSet implementieren – SirVaulterScoff

+0

Huh ... vergessen, das Datum der Frage zu überprüfen, aber trotzdem ... xD – SirVaulterScoff

Verwandte Themen