XML Adapter Classes

The Imixs-Core API provides adapter classes to transform a Imixs ItemCollection into a XML object and vice versa.

XMLDocumentAdapter

The XMLDocumentAdapter can be used to transform a Imixs ItemCollection in XML or transform a XML source into a ItemCollection:

ItemCollection workitem;
....
XMLDocument xmlData = XMLDocumentAdapter.getDocument(workitem);
...

XMLDataCollectionAdapter

The XMLDataCollectionAdapter can be used to transform a List of Imixs ItemCollection elements in XML or transform a XML source into a List of ItemCollection:

List<ItemCollection> dataList;
...
XMLDataCollection xmlData = XMLDataCollectionAdapter.getDataCollection(dataList);
...

The next example shows how to read a XML source into a XMLDataCollectionAdapter

List<ItemCollection> col = null;
try {
    col = XMLDataCollectionAdapter
         .readCollectionFromInputStream(getClass().getResourceAsStream("/document-example.xml"));
} catch (JAXBException e) {
    Assert.fail();
} catch (IOException e) {
    Assert.fail();
}

You can also write the data into a byte array using the XMLDataCollectionAdapter:

byte[] data = null;
try {
    data = XMLDocumentAdapter.writeItemCollection(itemColSource);
    Assert.assertTrue(data.length > 100);
} catch (JAXBException | IOException e) {
    Assert.fail();
}