下面列出了javax.xml.bind.JAXBContext#getClass ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。
public static void test(Class<?> factoryClass) throws JAXBException {
System.clearProperty(JAXBContext.JAXB_CONTEXT_FACTORY);
System.out.println("** Testing with Factory Class: " + factoryClass.getName());
System.out.println(JAXBContext.JAXB_CONTEXT_FACTORY + " = "
+ System.getProperty(JAXBContext.JAXB_CONTEXT_FACTORY, ""));
System.out.println("Calling "
+ "JAXBContext.newInstance(JAXBContextWithSubclassedFactory.class)");
tmp = JAXBContext.newInstance(JAXBContextWithSubclassedFactory.class);
System.setProperty(JAXBContext.JAXB_CONTEXT_FACTORY,
factoryClass.getName());
System.out.println(JAXBContext.JAXB_CONTEXT_FACTORY + " = "
+ System.getProperty(JAXBContext.JAXB_CONTEXT_FACTORY));
System.out.println("Calling "
+ "JAXBContext.newInstance(JAXBContextWithSubclassedFactory.class)");
JAXBContext ctxt = JAXBContext.newInstance(JAXBContextWithSubclassedFactory.class);
System.out.println("Successfully loaded JAXBcontext: " +
System.identityHashCode(ctxt) + "@" + ctxt.getClass().getName());
if (ctxt.getClass() != JAXBContextImpl.class) {
throw new RuntimeException("Wrong JAXBContext class"
+ "\n\texpected: "
+ System.identityHashCode(tmp) + "@" + JAXBContextImpl.class.getName()
+ "\n\tactual: "
+ System.identityHashCode(ctxt) + "@" + ctxt.getClass().getName());
}
if (((JAXBContextImpl)ctxt).creator != factoryClass) {
throw new RuntimeException("Wrong Factory class"
+ "\n\texpected: "
+ System.identityHashCode(tmp) + "@" + factoryClass.getName()
+ "\n\tactual: "
+ System.identityHashCode(ctxt) + "@" + ((JAXBContextImpl)ctxt).creator.getName());
}
}
public static void test(Class<?> factoryClass, Class<?> creatorClass) throws JAXBException {
System.clearProperty(JAXBContext.JAXB_CONTEXT_FACTORY);
System.out.println("** Testing with Factory Class: " + factoryClass.getName());
System.out.println(JAXBContext.JAXB_CONTEXT_FACTORY + " = "
+ System.getProperty(JAXBContext.JAXB_CONTEXT_FACTORY, ""));
System.out.println("Calling "
+ "JAXBContext.newInstance(JAXBContextWithLegacyFactory.class)");
tmp = JAXBContext.newInstance(JAXBContextWithLegacyFactory.class);
System.setProperty(JAXBContext.JAXB_CONTEXT_FACTORY,
factoryClass.getName());
System.out.println(JAXBContext.JAXB_CONTEXT_FACTORY + " = "
+ System.getProperty(JAXBContext.JAXB_CONTEXT_FACTORY));
System.out.println("Calling "
+ "JAXBContext.newInstance(JAXBContextWithLegacyFactory.class)");
JAXBContext ctxt = JAXBContext.newInstance(JAXBContextWithLegacyFactory.class);
System.out.println("Successfully loaded JAXBcontext: " +
System.identityHashCode(ctxt) + "@" + ctxt.getClass().getName());
if (ctxt.getClass() != JAXBContextImpl.class) {
throw new RuntimeException("Wrong JAXBContext class"
+ "\n\texpected: "
+ System.identityHashCode(tmp) + "@" + JAXBContextImpl.class.getName()
+ "\n\tactual: "
+ System.identityHashCode(ctxt) + "@" + ctxt.getClass().getName());
}
if (((JAXBContextImpl)ctxt).creator != creatorClass) {
throw new RuntimeException("Wrong Factory class"
+ "\n\texpected: "
+ System.identityHashCode(tmp) + "@" + creatorClass.getName()
+ "\n\tactual: "
+ System.identityHashCode(ctxt) + "@" + ((JAXBContextImpl)ctxt).creator.getName());
}
}