Module  java.xml.bind
软件包  javax.xml.bind

Interface JAXBContextFactory



  • public interface JAXBContextFactory

    创建新的JAXBContext实例的工厂。 JAXBContextFactory可以使用ServiceLoader.load(Class)找到

    从以下版本开始:
    9,JAXB 2.3
    • 方法详细信息

      • createContext

        JAXBContext createContext​(Class<?>[] classesToBeBound,
                                  Map<String,?> properties)
                           throws JAXBException

        创建一个JAXBContext类的新实例。

        对于语义参见JAXBContext.newInstance(Class[], java.util.Map)

        参数
        classesToBeBound - 由新的JAXBContext识别的java类的列表。 在命名模块中的classesToBeBound中的类必须在open的包中,至少为java.xml.bind模块。 可以是空的,在这种情况下,只能知道规范定义类的JAXBContext将被返回。
        properties - 提供者特定的属性。 可以是null,这意味着与传递一个空的地图相同的东西。
        结果
        一个新的实例 JAXBContext
        异常
        JAXBException - 如果在创建JAXBContext时遇到错误,例如(但不限于):
        1. 没有发现JAXB实现
        2. 类使用JAXB注释不正确
        3. 类具有冲突注释(即,具有相同类型名称的两个类)
        4. JAXB实现无法找到提供程序特定的带外信息(例如在开发时生成的附加文件)。
        5. classesToBeBound不能打开java.xml.bind模块
        IllegalArgumentException - 如果参数包含 null (即 newInstance(null,someMap);
        从以下版本开始:
        9,JAXB 2.3
      • createContext

        JAXBContext createContext​(String contextPath,
                                  ClassLoader classLoader,
                                  Map<String,?> properties)
                           throws JAXBException

        创建一个新的JAXBContext类的实例。

        对于语义参见JAXBContext.newInstance(String, ClassLoader, java.util.Map)

        属性的解释取决于实现。 如果找到不了解的属性,那么实现必须抛出JAXBException

        参数
        contextPath - 包含模式派生类的java包名称列表。 在命名模块中的classesToBeBound中的类必须在至少为java.xml.bind模块的包中,为open
        classLoader - 此类加载器将用于定位实现类。
        properties - 提供者特定的属性。 可以是null,这意味着与传递一个空的地图相同的东西。
        结果
        一个新的实例 JAXBContext
        异常
        JAXBException - 如果在创建JAXBContext时遇到错误
        1. 无法在包中找到ObjectFactory.class或jaxb.index
        2. 在contextPath中包含的全局元素之间的歧义
        3. 无法找到上下文工厂提供程序属性的值
        4. 在相同的contextPath上混合来自不同提供者的模式派生包
        5. 软件包不能打开java.xml.bind模块
        从以下版本开始:
        9,JAXB 2.3