supongamos que tengo esta clase:colecciones unmarshalling en jaxb
public class A {
private HashMap<String, B> map;
@XmlElement
private void setB(ArrayList<B> col) {
...
}
private ArrayList<B> getB() {
...
}
}
Al intentar Resolver referencia un documento XML a esta clase mediante jaxb Me he dado cuenta que en lugar de llamar al método SETB() y me envía la lista de B instancias JaxB realmente llama al getB() y agrega las instancias B a la lista devuelta. ¿Por qué?
La razón por la que quiero que se llame al instalador es porque la lista es en realidad solo un almacenamiento temporal desde el que quiero construir el campo del mapa, así que pensé en hacerlo en el colocador.
Gracias.
+1 para señalar la forma en que jaxb hace colecciones, pero ese complemento no ayudará. Es un complemento para el generador de códigos XJC, my no cambia el comportamiento en tiempo de ejecución de JAXB. – skaffman
Leí un hilo viejo de correo electrónico que decía que este comportamiento se estaba solucionando en JaxB 2.1. Esperaría que haya una propiedad en JaxbContext.newInstance (classes, * properties *) que controle el comportamiento de cálculo de referencias, pero no puedo encontrarlo. – Justin