public abstract class AbstractUnmarshallerImpl extends Object implements Unmarshaller
这类提供的Unmarshallerinterface部分默认实现。
一个API提供商实施五方法(getunmarshallerhandler,解包(节点),数据(XMLReader,inputsource)、数据(xmlstreamreader),和解包(XMLEventReader)。
Unmarshaller
Unmarshaller.Listener| Modifier and Type | Field and Description |
|---|---|
protected boolean |
validating
是否会验证配置
|
| Constructor and Description |
|---|
AbstractUnmarshallerImpl() |
| Modifier and Type | Method and Description |
|---|---|
protected UnmarshalException |
createUnmarshalException(SAXException e)
创建从一个unmarshalexception saxexception。
|
<A extends XmlAdapter> |
getAdapter(类<A> type)
获取与指定类型关联的适配器。
|
AttachmentUnmarshaller |
getAttachmentUnmarshaller() |
ValidationEventHandler |
getEventHandler()
如果一个没有被设置,返回当前事件处理程序或默认事件处理程序。
|
Unmarshaller.Listener |
getListener()
返回
Unmarshaller.Listener注册这个
Unmarshaller。
|
Object |
getProperty(String name)
getProperty方法的默认实现propertyexception总是因为没有必需的属性。
|
Schema |
getSchema()
把JAXP 1.3
Schema对象所使用的编码解码时间验证。
|
protected XMLReader |
getXMLReader()
获得配置XmlReader。
|
boolean |
isValidating()
是否配置配置验证数据的操作过程。
|
<A extends XmlAdapter> |
setAdapter(类<A> type, A adapter)
联想
XmlAdapter这个配置的配置实例。
|
void |
setAdapter(XmlAdapter adapter)
联想
XmlAdapter这个配置的配置实例。
|
void |
setAttachmentUnmarshaller(AttachmentUnmarshaller au)
联系上下文解决CID的内容ID的URI,二进制数据通过作为附件。
|
void |
setEventHandler(ValidationEventHandler handler)
允许应用程序注册一个验证事件处理程序。
|
void |
setListener(Unmarshaller.Listener listener)
这
Unmarshaller登记数据的事件回调
Unmarshaller.Listener。
|
void |
setProperty(String name, Object value)
setProperty方法的默认实现propertyexception总是因为没有必需的属性。
|
void |
setSchema(Schema schema)
指定JAXP 1.3
Schema对象,可以用来验证数据的后续行动。
|
void |
setValidating(boolean validating)
指定是否应验证数据的操作期间,Unmarshaller。
|
Object |
unmarshal(File f)
数据的XML数据从指定的文件并返回结果的内容树。
|
Object |
unmarshal(InputSource source)
数据的XML数据从指定的萨克斯inputsource和返回结果的内容树。
|
Object |
unmarshal(InputStream is)
数据的XML数据从指定的输入流和返回结果的内容树。
|
<T> JAXBElement<T> |
unmarshal(Node node, 类<T> expectedType)
数据的XML数据通过JAXB映射
declaredType和返回结果的内容树。
|
Object |
unmarshal(Reader reader)
数据的XML数据从指定的读者和返回结果的内容树。
|
Object |
unmarshal(Source source)
从指定的XML数据的XML数据源和返回结果的内容树。
|
<T> JAXBElement<T> |
unmarshal(Source source, 类<T> expectedType)
从指定的XML数据的XML数据源的
declaredType和返回结果的内容树。
|
Object |
unmarshal(URL url)
数据的XML数据从指定的URL并返回结果的内容树。
|
Object |
unmarshal(XMLEventReader reader)
数据的XML数据从指定的解析器和返回结果的内容树。
|
<T> JAXBElement<T> |
unmarshal(XMLEventReader reader, 类<T> expectedType)
数据的根元素
declaredType JAXB映射和返回结果的内容树。
|
protected abstract Object |
unmarshal(XMLReader reader, InputSource source)
解封对象使用指定的XmlReader和inputsource。
|
Object |
unmarshal(XMLStreamReader reader)
数据的XML数据从指定的解析器和返回结果的内容树。
|
<T> JAXBElement<T> |
unmarshal(XMLStreamReader reader, 类<T> expectedType)
数据的根元素
declaredType JAXB映射和返回结果的内容树。
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitgetUnmarshallerHandler, unmarshalprotected XMLReader getXMLReader() throws JAXBException
SAXSource对象没有XMLReader。
Unmarshaller是不可重入的,所以我们只会用XMLReader的一个实例。
public Object unmarshal(Source source) throws JAXBException
Unmarshaller
实现了Unmarshal Global Root Element。
客户端应用程序可以选择不使用他们的API提供商提供缺省解析器机制。任何萨克斯2兼容的解析器可以替代JAXB提供的默认机制。这样,客户端应用程序必须正确配置SAXSource含有XMLReader SAX解析器供应商实施的2。如果XMLReader注册它的org.xml.sax.ErrorHandler,它将取代JAXB提供商以便验证错误可以报道通过JAXB的ValidationEventHandler机制。如果SAXSource不包含XMLReader,然后JAXB提供者将使用默认的解析机制。
这个解析器替代机制也可以用来替代JAXB供应商的编码解码时间验证引擎。客户端应用程序必须正确地配置他们的萨克斯2兼容的解析器执行验证(如上面的例子)。任何SAXParserExceptions 遇到的解析器的解包操作期间将由JAXB供应商处理并转换成JAXB ValidationEvent对象将被返回给客户端通过与Unmarshaller注册ValidationEventHandler。注:指定一个替代SAX解析器验证2完成不一定取代由JAXB提供用于执行按需验证验证引擎。
一个客户端应用程序指定一个备用的解析器机制被使用在数据通过unmarshal(SAXSource) API的唯一途径。所有其他形式的编码解码方法(文件、URL、节点等)将使用JAXB提供的缺省解析器和验证机制。
unmarshal 接口
Unmarshaller
source - XML源数据的XML数据(提供者只需要支持SAXSource,domsource,和StreamSource)
JAXBException -如果任何意外的错误发生而解散
UnmarshalException -如果
ValidationEventHandler返回false其
handleEvent法或
Unmarshaller无法执行XML java绑定。看到
Unmarshalling XML Data
Unmarshaller.unmarshal(javax.xml.transform.Source, Class)
protected abstract Object unmarshal(XMLReader reader, InputSource source) throws JAXBException
public final Object unmarshal(InputSource source) throws JAXBException
Unmarshaller
unmarshal 接口
Unmarshaller
source -输入源数据的XML数据
JAXBException -如果任何意外的错误发生而解散
UnmarshalException -如果
ValidationEventHandler返回false其
handleEvent法或
Unmarshaller无法执行XML java绑定。看到
Unmarshalling XML Data
public final Object unmarshal(URL url) throws JAXBException
Unmarshaller
unmarshal 接口
Unmarshaller
url - URL编码解码XML数据
JAXBException -如果任何意外的错误发生而解散
UnmarshalException -如果
ValidationEventHandler返回false其
handleEvent法或
Unmarshaller无法执行XML java绑定。看到
Unmarshalling XML Data
public final Object unmarshal(File f) throws JAXBException
Unmarshaller
unmarshal 接口
Unmarshaller
f -文件数据的XML数据
JAXBException -如果任何意外的错误发生而解散
UnmarshalException -如果
ValidationEventHandler返回false其
handleEvent法或
Unmarshaller无法执行XML java绑定。看到
Unmarshalling XML Data
public final Object unmarshal(InputStream is) throws JAXBException
Unmarshaller
unmarshal 接口
Unmarshaller
is的InputStream来分解的XML数据
JAXBException -如果任何意外的错误发生而解散
UnmarshalException -如果
ValidationEventHandler返回false其
handleEvent法或
Unmarshaller无法执行XML java绑定。看到
Unmarshalling XML Data
public final Object unmarshal(Reader reader) throws JAXBException
Unmarshaller
unmarshal 接口
Unmarshaller
reader -读者数据的XML数据
JAXBException -如果任何意外的错误发生而解散
UnmarshalException -如果
ValidationEventHandler返回false其
handleEvent法或
Unmarshaller无法执行XML java绑定。看到
Unmarshalling XML Data
public boolean isValidating()
throws JAXBException
注:我称这种方法isvalidating()呆在JAXP,而命名getvalidating()。
isValidating 接口
Unmarshaller
JAXBException -如果在检索验证标志出现错误
public void setEventHandler(ValidationEventHandler handler) throws JAXBException
验证事件处理程序将被JAXB提供者如果任何验证错误中调用任何的unmarshal方法。如果客户端应用程序不登记验证事件处理程序调用unmarshal方法之前,那么所有的验证事件将被忽略掉,可能会导致意外的行为。
setEventHandler 接口
Unmarshaller
handler -验证事件处理程序
JAXBException如果同时设置事件处理程序时出错
public void setValidating(boolean validating)
throws JAXBException
此方法只可调用之前或之后的编码解码方法调用。
setValidating 接口
Unmarshaller
validating -如果Unmarshaller要验证数据的过程中,否则为假
JAXBException如果同时启用或禁用验证数据时出错
public ValidationEventHandler getEventHandler() throws JAXBException
getEventHandler 接口
Unmarshaller
JAXBException -如果在当前的事件处理程序时出错
protected UnmarshalException createUnmarshalException(SAXException e)
当一个供应商实施ContentHandler想把jaxbexception,需要将该异常由saxexception。如果配置执行包saxexception jaxbexception盲目的,这样的异常会被另一jaxbexception包裹jaxbexception由saxexception包裹。这是愚蠢的。
此方法检查嵌套异常的saxexception和减少过度包装。
public void setProperty(String name, Object value) throws PropertyException
setProperty 接口
Unmarshaller
name -属性的名称是。此值可以使用常量字段或用户提供的字符串中的一个指定。
value -属性要设置的值
PropertyException -当有特定的属性或值的误差处理
public Object getProperty(String name) throws PropertyException
getProperty 接口
Unmarshaller
name -属性的名称检索
PropertyException -当有检索给定属性或值的属性名称错误
public Object unmarshal(XMLEventReader reader) throws JAXBException
Unmarshaller
该方法是一种Unmarshal Global Root method。
这种方法假设分析器是一个start_document或start_element事件。反将从这开始事件对应的事件做。如果这个方法返回成功,这reader将指向结束事件的令牌后。
unmarshal 接口
Unmarshaller
reader -解析器读入。
JAXBException -如果任何意外的错误发生而解散
UnmarshalException -如果
ValidationEventHandler返回false其
handleEvent法或
Unmarshaller无法执行XML java绑定。看到
Unmarshalling XML Data
Unmarshaller.unmarshal(javax.xml.stream.XMLEventReader, Class)
public Object unmarshal(XMLStreamReader reader) throws JAXBException
Unmarshaller
实现了Unmarshal Global Root Element。
这种方法假设分析器是一个start_document或start_element事件。反将从这开始事件对应的事件做。如果这个方法返回成功,这reader将指向结束事件的令牌后。
unmarshal 接口
Unmarshaller
reader -解析器读入。
JAXBException -如果任何意外的错误发生而解散
UnmarshalException -如果
ValidationEventHandler返回false其
handleEvent法或
Unmarshaller无法执行XML java绑定。看到
Unmarshalling XML Data
Unmarshaller.unmarshal(javax.xml.stream.XMLStreamReader, Class)
public <T> JAXBElement<T> unmarshal(Node node, 类<T> expectedType) throws JAXBException
Unmarshaller
unmarshal 接口
Unmarshaller
node -文档/元来分解XML数据。调用方必须至少支持文档和元素。
expectedType JAXB映射类适合举行
node的XML数据。
JAXBException -如果任何意外的错误发生而解散
UnmarshalException -如果
ValidationEventHandler返回false其
handleEvent法或
Unmarshaller无法执行XML java绑定。看到
Unmarshalling XML Data
public <T> JAXBElement<T> unmarshal(Source source, 类<T> expectedType) throws JAXBException
Unmarshaller
unmarshal 接口
Unmarshaller
source - XML源数据的XML数据(提供者只需要支持SAXSource,domsource,和StreamSource)
expectedType JAXB映射类适合举行
source XML根元素
JAXBException -如果任何意外的错误发生而解散
UnmarshalException -如果
ValidationEventHandler返回false其
handleEvent法或
Unmarshaller无法执行XML java绑定。看到
Unmarshalling XML Data
public <T> JAXBElement<T> unmarshal(XMLStreamReader reader, 类<T> expectedType) throws JAXBException
Unmarshaller
该方法实现了unmarshal by declaredType。
这种方法假设分析器是一个start_document或start_element事件。反将从这开始事件对应的事件做。如果这个方法返回成功,这reader将指向结束事件的令牌后。
unmarshal 接口
Unmarshaller
reader -解析器读入。
expectedType JAXB映射类适合举行
reader的start_element XML数据。
JAXBException -如果任何意外的错误发生而解散
UnmarshalException -如果
ValidationEventHandler返回false其
handleEvent法或
Unmarshaller无法执行XML java绑定。看到
Unmarshalling XML Data
public <T> JAXBElement<T> unmarshal(XMLEventReader reader, 类<T> expectedType) throws JAXBException
Unmarshaller
该方法实现了unmarshal by declaredType。
这种方法假设分析器是一个start_document或start_element事件。反将从这开始事件对应的事件做。如果这个方法返回成功,这reader将指向结束事件的令牌后。
unmarshal 接口
Unmarshaller
reader -解析器读入。
expectedType JAXB映射类适合举行
reader的start_element XML数据。
JAXBException -如果任何意外的错误发生而解散
UnmarshalException -如果
ValidationEventHandler返回false其
handleEvent法或
Unmarshaller无法执行XML java绑定。看到
Unmarshalling XML Data
public void setSchema(Schema schema)
Unmarshaller
Schema对象,可以用来验证数据的后续行动。传递空到该方法将禁用验证。
这种方法取代了过时的setValidating(boolean) API。
最初这个属性设置为null。
setSchema 接口
Unmarshaller
schema架构对象来验证数据打击或空禁用验证
public Schema getSchema()
Unmarshaller
Schema对象所使用的编码解码时间验证。如果没有模式设置的配置,那么这个方法将返回null表示数据的时间将不会进行验证。
这种方法对于不Unmarshaller.isValidating()提供更换功能的API以及访问的模式对象。确定Unmarshaller已经确认启用,仅仅测试无效的返回类型:
boolean isValidating = u.getSchema()!=null;
getSchema 接口
Unmarshaller
public void setAdapter(XmlAdapter adapter)
Unmarshaller
XmlAdapter这个配置的配置实例。
这是一个方便的方法调用setAdapter(adapter.getClass(),adapter);。
setAdapter 接口
Unmarshaller
Unmarshaller.setAdapter(Class,XmlAdapter)
public <A extends XmlAdapter> void setAdapter(类<A> type, A adapter)
Unmarshaller
XmlAdapter这个配置的配置实例。
每一个配置内部保持Map < 类,XmlAdapter >,它使用的字段/方法注释的XmlJavaTypeAdapter解包类。
这种方法允许应用程序使用的配置实例XmlAdapter。当适配器的实例是不给,一个配置将创建一个通过调用其默认构造函数。
setAdapter 接口
Unmarshaller
type -适配器的类型。指定的实例时将使用
XmlJavaTypeAdapter.value()指的是这种类型。
adapter -适配器要使用的实例。如果为空,它将不为这种类型的当前适配器设置。
public <A extends XmlAdapter> A getAdapter(类<A> type)
Unmarshaller
Unmarshaller.setAdapter(javax.xml.bind.annotation.adapters.XmlAdapter)反向操作的方法。
getAdapter 接口
Unmarshaller
public void setAttachmentUnmarshaller(AttachmentUnmarshaller au)
Unmarshaller
联系上下文解决CID的内容ID的URI,二进制数据通过作为附件。
分解时间的验证,能够通过Unmarshaller.setSchema(Schema)必须支持的配置,即使是表演XOP处理。
setAttachmentUnmarshaller 接口
Unmarshaller
public AttachmentUnmarshaller getAttachmentUnmarshaller()
getAttachmentUnmarshaller 接口
Unmarshaller
public void setListener(Unmarshaller.Listener listener)
Unmarshaller
这Unmarshaller登记数据的事件回调Unmarshaller.Listener。
有只有一个侦听器配置。设置一个侦听器替换前一个侦听器。一个可以注销当前听众通过设置监听器null。
setListener 接口
Unmarshaller
listener -这
Unmarshaller提供数据的事件回调
public Unmarshaller.Listener getListener()
Unmarshaller
getListener 接口
Unmarshaller
Unmarshaller.Listener或
null如果没有监听器注册这个配置。
Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2014, Oracle and/or its affiliates. All rights reserved.