javax.xml.bind.JAXBContext#getClass ( )源码实例Demo

下面列出了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());
    }
}