Package com.jcabi.matchers
Class JaxbConverter
- java.lang.Object
-
- com.jcabi.matchers.JaxbConverter
-
public final class JaxbConverter extends Object
JAXB-empowered object to XML converting utility.The object has to be annotated with JAXB annotations in order to be convertable. Let's consider an example JAXB-annotated class:
import javax.xml.bind.annotation.XmlAccessType; import javax.xml.bind.annotation.XmlAccessorType; import javax.xml.bind.annotation.XmlElement; import javax.xml.bind.annotation.XmlRootElement; @XmlRootElement(name = "employee") @XmlAccessorType(XmlAccessType.NONE) public class Employee { @XmlElement(name = "name") public String getName() { return "John Doe"; } }
Now you want to test how it works with real data after convertion to XML (in a unit test):
import com.jcabi.matchers.JaxbConverter; import com.jcabi.matchers.XhtmlMatchers; import org.junit.Assert; import org.junit.Test; public final class EmployeeTest { @Test public void testObjectToXmlConversion() throws Exception { final Object object = new Employee(); Assert.assertThat( JaxbConverter.the(object), XhtmlMatchers.hasXPath("/employee/name[.='John Doe']") ); } }
- Since:
- 0.1
-
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static Source
the(Object object, Class<?>... deps)
Convert an object to XML.
-
-
-
Method Detail
-
the
public static Source the(Object object, Class<?>... deps) throws javax.xml.bind.JAXBException
Convert an object to XML.The method will throw
AssertionError
if marshalling of provided object fails for some reason.The name of the method is motivated by xmlatchers project and their
XmlMatchers.the(String)
method. Looks like this name is short enough and convenient for unit tests.- Parameters:
object
- The object to convertdeps
- Dependencies that we should take into account- Returns:
- DOM source/document
- Throws:
javax.xml.bind.JAXBException
- If an exception occurs inside
-
-