package org.richfaces.cdk.xmlconfig; import java.io.ByteArrayOutputStream; import java.io.StringReader; import javax.xml.bind.JAXB; import org.richfaces.cdk.CdkTestBase; public abstract class JaxbTestBase extends CdkTestBase { protected static final String XML_PROLOG = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"; protected <T> String marshal(T root) { ByteArrayOutputStream xml = new ByteArrayOutputStream(); JAXB.marshal(root, xml); return new String(xml.toByteArray()); } protected <T> T unmarshal(Class<T> type, String src) { StringBuilder xml = new StringBuilder(XML_PROLOG); xml.append(src); StringReader reader = new StringReader(xml.toString()); T result = JAXB.unmarshal(reader, type); return result; } }