2009-03-08 5 views
3

J'ai essayé d'écrire un gestionnaire de champs personnalisé qui renvoie le code de hachage d'un objet java.awt.Image lors de l'écriture en XML et récupère une image basée sur ce code de hachage lors de la liaison du XML à un objet. Pour une raison quelconque, je ne peux pas faire fonctionner cela; Le castor, d'après ce que je peux dire, instancie simplement le gestionnaire de champs et n'appelle aucune de ses méthodes. Pouvez-vous me donner un exemple rapide de la façon de procéder parce qu'il me manque quelque chose de simple?Roulette Java utilisant des gestionnaires de champs personnalisés

Cheers,

Pete

Répondre

1

votre code peut coller une bonne idée. De toute façon suivante fonctionne bien pour moi

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

Et le gestionnaire lui-même

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

espoir qui aide

+0

qui est juste actualy un exemple de mon projet, légèrement modifié. Bien sûr, vous devez changer l'attribut de type approprié et implémenter la méthode convertUponSet – SirVaulterScoff

+0

Huh ... j'ai oublié de vérifier la date de la question, mais de toute façon ... xD – SirVaulterScoff

Questions connexes