-
public interface JAXBContextFactory
创建新的
JAXBContext
实例的工厂。 JAXBContextFactory可以使用ServiceLoader.load(Class)
找到- 从以下版本开始:
- 9,JAXB 2.3
-
-
方法摘要
所有方法 接口方法 抽象方法 Modifier and Type 方法 描述 JAXBContext
createContext(Class<?>[] classesToBeBound, Map<String,?> properties)
创建一个JAXBContext
类的新实例。JAXBContext
createContext(String contextPath, ClassLoader classLoader, Map<String,?> properties)
创建一个JAXBContext
类的新实例。
-
-
-
方法详细信息
-
createContext
JAXBContext createContext(Class<?>[] classesToBeBound, Map<String,?> properties) throws JAXBException
创建一个
JAXBContext
类的新实例。- 参数
-
classesToBeBound
- 由新的JAXBContext
识别的java类的列表。 在命名模块中的classesToBeBound
中的类必须在open的包中,至少为java.xml.bind
模块。 可以是空的,在这种情况下,只能知道规范定义类的JAXBContext
将被返回。 -
properties
- 提供者特定的属性。 可以是null,这意味着与传递一个空的地图相同的东西。 - 结果
-
一个新的实例
JAXBContext
。 - 异常
-
JAXBException
- 如果在创建JAXBContext
时遇到错误,例如(但不限于):- 没有发现JAXB实现
- 类使用JAXB注释不正确
- 类具有冲突注释(即,具有相同类型名称的两个类)
- JAXB实现无法找到提供程序特定的带外信息(例如在开发时生成的附加文件)。
-
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
时遇到错误- 无法在包中找到ObjectFactory.class或jaxb.index
- 在contextPath中包含的全局元素之间的歧义
- 无法找到上下文工厂提供程序属性的值
- 在相同的contextPath上混合来自不同提供者的模式派生包
- 软件包不能打开
java.xml.bind
模块
- 从以下版本开始:
- 9,JAXB 2.3
-
-