Estoy usando JAXB 2.2.2 para analizar una secuencia XML-REST simple. Este es el fragmento de código:¿Cuál es el rol de ObjectFactory durante JAXB-Unmarshalling?
JAXBContext jc = JAXBContext.newInstance("com.example.entities");
Unmarshaller u = jc.createUnmarshaller();
r = (Response)u.unmarshal(inputStream);
clase ObjectFactory:
@XmlRegistry
public class ObjectFactory {
public Response createRsp() {
return new Response();
}
}
clase de respuesta:
@XmlAccessorType(XmlAccessType.FIELD)
@XmlRootElement(name="rsp")
@XmlType
public class Response { ... }
El "com.example.entities" deben contener la clase ObjectFactory o jaxb. índice. Me gustaría usar la clase ObjectFactory para decidir alguna inicialización de pojo, pero esta clase nunca se usa: la clase Response siempre se instancia por class.newInstance() directamente. ¿Hay algo mal en esto?
Dios mío, pasé las últimas horas buscando en vano pistas sobre cómo hacer que mi método de fábrica funcione, hasta que leo esto. ¡Gracias! –