public abstract class AbstractUnmarshallerImpl extends Object implements Unmarshaller
这类提供的Unmarshaller
interface部分默认实现。
一个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, wait
getUnmarshallerHandler, unmarshal
protected 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.