Problemas Com Generics e JAXB

0 respostas
T

Boa noite, galera.

Tenho as seguintes classes:

@XmlRootElement
@XmlAccessorType(XmlAccessType.FIELD)
public class BaseReturn {
	
	@XmlElement
	private Meta meta;
	
	public BaseReturn() {}
	
	public BaseReturn(Meta meta) {
		this.meta = meta;
	}

	public Meta getMeta() {
		return meta;
	}

	public void setMeta(Meta meta) {
		this.meta = meta;
	}

}
@XmlRootElement
@XmlAccessorType(XmlAccessType.FIELD)
public class Meta {
	
	@XmlElement
	private long limit;
	@XmlElement
	private long offset;
	@XmlElement
	private String total;
	@XmlElement
	private String appserver;
	
	public Meta() {}
	
	public Meta(long limit, long offset, String total, String appserver) {
		super();
		this.limit = limit;
		this.offset = offset;
		this.total = total;
		this.appserver = appserver;
	}

        // gets e sets omitidos
}
@XmlRootElement
@XmlAccessorType(XmlAccessType.PROPERTY)
public class ListProductsReturn<T> extends BaseReturn {
		
	private List<T> objects;
	
	public ListProductsReturn() {}
	
	public ListProductsReturn(List<T> objects, Meta meta) {
		super(meta);
		this.objects = objects;
	}

	@XmlElement
	public List<T> getObjects() {
		return objects;
	}

	public void setObjects(List<T> objects) {
		this.objects = objects;
	}

}
@XmlRootElement
@XmlAccessorType(XmlAccessType.FIELD)
public class Product {

	@XmlElement
	private String price;
	@XmlElement
	private String bobby_id;
	@XmlElement
	private String product_id;
	@XmlElement
	private String name;
	
	public Product() {}
	
	public Product(String price, String bobby_id, String product_id, String name) {
		this.price = price;
		this.bobby_id = bobby_id;
		this.product_id = product_id;
		this.name = name;
	}

        // gets e sets omitidos
}

Quando vou fazer o marshall o seguinte erro é retornado:

javax.xml.bind.JAXBException: class com.types.Product nor any of its super class is known to this context.

Quando tiro o Generics da Classe ListProductsReturn ele funfa normal. O que posso fazer para que funcione com generics?

Valeu galera.

Criado 31 de julho de 2013
Respostas 0
Participantes 1