JAXB Marshalling et génériques

Je suis en train d'utiliser JAXB introspection à marshall et unmashall certains objets du domaine balisé avec des annotations JAXB. La plupart des choses fonctionnent comme prévu, mais je suis tout à fait avoir un peu de mal à obtenir un assez simple classe à sérialiser. Cette classe est utilisée comme un @XmlElement sur un certain nombre de haricots et ressemble à quelque chose comme:

public class Range<E extends Comparable<E>> implements Serializable {
    protected boolean startInclusive, endInclusive;
    protected E       start, end;

    public Range(){
            startInclusive = endInclusive = true;
    }

    public boolean contains(E value){...}

    public E getEnd() {
            return end;
    }

    public void setEnd(E end) {
            this.end = end;
    }

    public boolean isEndInclusive() {
            return endInclusive;
    }

    public void setEndInclusive(boolean endInclusive) {
            this.endInclusive = endInclusive;
    }

    public E getStart() {
            return start;
    }

    public void setStart(E start) {
            this.start = start;
    }

    public boolean isStartInclusive() {
            return startInclusive;
    }

    public void setStartInclusive(boolean startInclusive) {
            this.startInclusive = startInclusive;
    }
}

J'ai essayé de le faire, sans succès, JAXB est toujours fâché avec l'interface Comparable.

public class DoubleRange extends Range<Double> {}

Utilisant à la fois la Plage et DoubleRange comme type de retour de la fève de lecture les rendements d'une exception comme:

java.lang.Comparable est une interface, et JAXB ne peut pas gérer les interfaces. 
ce problème est lié à l'emplacement suivant: 
à java.lang.Comparable 
à la protection de java.lang.Comparable com.controlpath.util.Gamme.démarrer 
à l'exemple.util.Gamme 
à l'exemple.util.DoubleRange 
au public exemple.util.DoubleRange exemple.domaine.SomeBean.getRange() 
à l'exemple.domaine.SomeBean 

Je me rends compte que dans la plupart des cas, la Liste des<T> Map<T, U> seul le travail parce que le JAXB spécification a des dispositions particulières pour ces types quand ils se sont rencontrés sur les haricots, mais est-il une façon de transmettre ce que je veux à la JAXB introspection moteur sans avoir à ré-écrire de gamme avec des non-générique champs?

source d'informationauteur Steve Skrla | 2009-05-05