I'm trying to test a simple usage of javax.xml.bind.Binder. Am using JAXB 2.0
version that ships with GlassFish b42. Are Binders not supported?
Here is code:
JAXBContext jaxbContext = JAXBContext.newInstance(MySimpleOrder.class);
Marshaller jaxbMarshaller = jaxbContext.createMarshaller();
jaxbMarshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT,
Boolean.TRUE);
DocumentBuilder db =
DocumentBuilderFactory.newInstance().newDocumentBuilder();
Document doc = db.newDocument();
jaxbMarshaller.marshal(myOrder, new DOMResult(doc));
Element persistedElt = doc.getDocumentElement();
(*) Binder<Node> myBinder = jaxbContext.createBinder(Node.class);
MySimpleOrder perVC = (MySimpleOrder) myBinder.getJAXBNode(persistedElt);
perVC.setPersisted(true);
myBinder.updateXML(perVC);
Transformer xform = TransformerFactory.newInstance().newTransformer();
xform.transform(new DOMSource(persistedElt), new
StreamResult(System.out));
At the line with (*), I get this:
[java] java.lang.UnsupportedOperationException
[java] at javax.xml.bind.JAXBContext.createBinder(JAXBContext.java:633)
[java] at
samples.MySimpleOrderSerializer.main(MySimpleOrderSerializer.java:49)