Spec-Zone .ru
спецификации, руководства, описания, API
|
public interface Unmarshaller
Немаршалинг от Файла:
JAXBContext jc = JAXBContext.newInstance( "com.acme.foo" ); Unmarshaller u = jc.createUnmarshaller(); Object o = u.unmarshal( new File( "nosferatu.xml" ) );
Немаршалинг от InputStream:
InputStream is = new FileInputStream( "nosferatu.xml" ); JAXBContext jc = JAXBContext.newInstance( "com.acme.foo" ); Unmarshaller u = jc.createUnmarshaller(); Object o = u.unmarshal( is );
Немаршалинг от URL:
JAXBContext jc = JAXBContext.newInstance( "com.acme.foo" ); Unmarshaller u = jc.createUnmarshaller(); URL url = new URL( "http://beaker.east/nosferatu.xml" ); Object o = u.unmarshal( url );
Немаршалинг от StringBuffer, используя javax.xml.transform.stream.StreamSource:
JAXBContext jc = JAXBContext.newInstance( "com.acme.foo" ); Unmarshaller u = jc.createUnmarshaller(); StringBuffer xmlStr = new StringBuffer( "<?xml version="1.0"?>..." ); Object o = u.unmarshal( new StreamSource( new StringReader( xmlStr.toString() ) ) );
Немаршалинг от org.w3c.dom.Node:
JAXBContext jc = JAXBContext.newInstance( "com.acme.foo" ); Unmarshaller u = jc.createUnmarshaller(); DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); dbf.setNamespaceAware(true); DocumentBuilder db = dbf.newDocumentBuilder(); Document doc = db.parse(new File( "nosferatu.xml")); Object o = u.unmarshal( doc );
Немаршалинг от javax.xml.transform.sax.SAXSource, используя клиент определил проверку допустимости синтаксический анализатор SAX2.0:
// configure a validating SAX2.0 parser (Xerces2) static final String JAXP_SCHEMA_LANGUAGE = "http://java.sun.com/xml/jaxp/properties/schemaLanguage"; static final String JAXP_SCHEMA_LOCATION = "http://java.sun.com/xml/jaxp/properties/schemaSource"; static final String W3C_XML_SCHEMA = "http://www.w3.org/2001/XMLSchema"; System.setProperty( "javax.xml.parsers.SAXParserFactory", "org.apache.xerces.jaxp.SAXParserFactoryImpl" ); SAXParserFactory spf = SAXParserFactory.newInstance(); spf.setNamespaceAware(true); spf.setValidating(true); SAXParser saxParser = spf.newSAXParser(); try { saxParser.setProperty(JAXP_SCHEMA_LANGUAGE, W3C_XML_SCHEMA); saxParser.setProperty(JAXP_SCHEMA_LOCATION, "http://...."); } catch (SAXNotRecognizedException x) { // exception handling omitted } XMLReader xmlReader = saxParser.getXMLReader(); SAXSource source = new SAXSource( xmlReader, new InputSource( "http://..." ) ); // Setup JAXB to unmarshal JAXBContext jc = JAXBContext.newInstance( "com.acme.foo" ); Unmarshaller u = jc.createUnmarshaller(); ValidationEventCollector vec = new ValidationEventCollector(); u.setEventHandler( vec ); // turn off the JAXB provider's default validation mechanism to // avoid duplicate validation u.setValidating( false ) // unmarshal Object o = u.unmarshal( source ); // check for events if( vec.hasEvents() ) { // iterate over events }
Немаршалинг от StAX XMLStreamReader:
JAXBContext jc = JAXBContext.newInstance( "com.acme.foo" ); Unmarshaller u = jc.createUnmarshaller(); javax.xml.stream.XMLStreamReader xmlStreamReader = javax.xml.stream.XMLInputFactory().newInstance().createXMLStreamReader( ... ); Object o = u.unmarshal( xmlStreamReader );
Немаршалинг от StAX XMLEventReader:
JAXBContext jc = JAXBContext.newInstance( "com.acme.foo" ); Unmarshaller u = jc.createUnmarshaller(); javax.xml.stream.XMLEventReader xmlEventReader = javax.xml.stream.XMLInputFactory().newInstance().createXMLEventReader( ... ); Object o = u.unmarshal( xmlEventReader );
Немаршалинг может десериализовать данные XML, который представляет или весь XML-документ или поддерево XML-документа. Как правило, достаточно использовать методы немаршалинга, описанные, Неупорядочивают корневой элемент, который объявляется глобально. Они неупорядочивают методы, используютJAXBContext
's отображение глобальных объявлений элемента XML и определений типа JAXB отображенные классы, чтобы инициировать немаршалинг корневого элемента данных XML. КогдаJAXBContext
's отображения не достаточны, чтобы неупорядочить корневой элемент данных XML, приложение может помочь процессу немаршалинга при использовании неупорядочивания по declaredType методам. Эти методы полезны для немаршалинга данных XML, где корневой элемент соответствует локальному объявлению элемента в схеме.
Неупорядочивать метод никогда не возвращает нуль. Если неупорядочивать процесс неспособен неупорядочить корень контента XML к JAXB отображенный объект, о фатальной ошибке сообщают, который завершает обработку, бросая JAXBException.
Неупорядочьте корневой элемент, который глобально объявляется
Неупорядочивать методы, у которых нет использования параметра declaredTypeJAXBContext
неупорядочивать корневой элемент данные XML.JAXBContext
экземпляр является тем, который использовался, чтобы создать этот Unmarshaller.JAXBContext
экземпляр поддерживает отображение глобально объявленного элемента XML, и введите имена определения к JAXB отображенные классы. Неупорядочивать метод проверяет еслиJAXBContext
имеет отображение с имени XML корневого элемента и/или @xsi:type к JAXB отображенный class. Если это делает, это umarshalls данные XML, используя соответствующий JAXB отображенный class. Отметьте, что, когда корневое имя элемента неизвестно и у корневого элемента есть @xsi:type, данные XML неупорядочивается, используя это JAXB отображенный class как значение aJAXBElement
. КогдаJAXBContext
у объекта нет отображения для имени корневого элемента, ни его @xsi:type, если это будет существовать, тогда то неупорядочивать работа сразу прервется, бросая aUnmarshalException
. Этот сценарий исключения может работаться вокруг при использовании неупорядочивания по declaredType методам, описанным в следующем подразделе.
Неупорядочьте по Объявленному Типу
Неупорядочивать методы с adeclaredType
параметр позволяет приложению десериализовать корневой элемент данных XML, даже когда нет никакого отображения вJAXBContext
из имени XML корневого элемента. unmarshaller неупорядочивает корневой элемент, используя обеспеченное отображение приложения, определенное как параметр declaredType. Отметьте это, даже когда имя элемента корневого элемента отображаетсяJAXBContext
,declaredType
переопределения параметра, что отображение для того, чтобы десериализовать корневой элемент при использовании их неупорядочивает методы. Дополнительно, когда у корневого элемента данных XML есть атрибут xsi:type и что значение атрибута ссылается на определение типа, которое отображается на JAXB отображенный classJAXBContext
, то, что атрибут xsi:type корневого элемента имеет приоритет по неупорядочивать параметру методов declaredType. Эти методы всегда возвращают экземпляр JAXBElement<declaredType>. Таблица ниже шоу, как свойства возвращенного экземпляра JAXBElement устанавливаются.
Неупорядочьте По Объявленному Типу возвращенный JAXBElement Свойство JAXBElement Значение имя xml element name
значение instanceof declaredType
declaredType неупорядочьте метод declaredType
параметрконтекст null
(фактический контекст неизвестен),
Следующее является примером, неупорядочивают по declaredType методу.
Неупорядочьте по declaredType от org.w3c.dom.Node:
Schema fragment for example <xs:schema> <xs:complexType name="FooType">...<\xs:complexType> <!-- global element declaration "PurchaseOrder" --> <xs:element name="PurchaseOrder"> <xs:complexType> <xs:sequence> <!-- local element declaration "foo" --> <xs:element name="foo" type="FooType"/> ... </xs:sequence> </xs:complexType> </xs:element> </xs:schema> JAXBContext jc = JAXBContext.newInstance( "com.acme.foo" ); Unmarshaller u = jc.createUnmarshaller(); DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); dbf.setNamespaceAware(true); DocumentBuilder db = dbf.newDocumentBuilder(); Document doc = db.parse(new File( "nosferatu.xml")); Element fooSubtree = ...; // traverse DOM till reach xml element foo, constrained by a // local element declaration in schema. // FooType is the JAXB mapping of the type of local element declaration foo. JAXBElement<FooType> foo = u.unmarshal( fooSubtree, FooType.class);
Поддержка Совместимых Синтаксических анализаторов SAX2.0
У клиентского приложения есть возможность выбрать совместимый синтаксический анализатор SAX2.0 их выбора. Если синтаксический анализатор SAX не будет выбран, то синтаксический анализатор значения по умолчанию Провайдера JAXB будет использоваться. Даже при том, что синтаксический анализатор значения по умолчанию Провайдера JAXB не обязан быть SAX2.0 совместимый, все провайдеры обязаны позволять клиентскому приложению определять их собственный синтаксический анализатор SAX2.0. Некоторые провайдеры могут потребовать, чтобы клиентское приложение определило синтаксический анализатор SAX2.0 во время компиляции схемы. См. unmarshal(Source)
для большего количества детали.
Проверка допустимости и Отмеченность
Клиентское приложение может включить или отключить JAXP 1.3 механизма проверки допустимости через API setSchema(javax.xml.validation.Schema). Сложные клиенты могут определить свой собственный SAX проверки допустимости 2.0 совместимых синтаксических анализатора и обойти JAXP 1.3 механизма проверки допустимости, используя
unmarshal(Source)
API.Начиная с немаршалинга недопустимого контента XML определяется в JAXB 2.0, обработчик событий проверки допустимости значения по умолчанию Unmarshaller был сделан более снисходительным чем в JAXB 1.0. Когда полученный из схемы код, сгенерированный JAXB 1.0 обязательных компилятора, регистрируется в
JAXBContext
, значение по умолчанию неупорядочивает обработчик проверки допустимости,DefaultValidationEventHandler
и это завершает упорядочивать работу после обнаружения или фатальная ошибка или ошибка. Для JAXB 2.0 клиентских приложения нет никакого явно определенного обработчика проверки допустимости значения по умолчанию, и стандартное событие, обрабатывающее только, завершает неупорядочивать работу после обнаружения с фатальной ошибкой.
В настоящий момент нет никаких свойств, требуемых поддерживаться всеми Провайдерами JAXB на Unmarshaller. Однако, некоторые провайдеры могут поддерживать свой собственный набор провайдера определенные свойства.
Неупорядочьте Обратные вызовы События
Unmarshaller
обеспечивает два стиля механизмов обратного вызова, которые позволяют специализированную обработку во время ключевых пунктов в процессе немаршалинга. В обратных вызовах события 'class defined' специализированный код, помещенный в JAXB отображенные классы, инициирован во время немаршалинга. 'Внешние слушатели' учитывают централизованную обработку, неупорядочивают события в одном методе обратного вызова, а не обратными вызовами события типа.Методы обратного вызова события 'Class defined' позволяют любому JAXB отображенный class, чтобы определить его собственные определенные методы обратного вызова, определяя методы с помощью следующей сигнатуры метода:
Определенные методы обратного вызова class должны использоваться, когда метод обратного вызова требует доступа к непубличным методам и/или полям class.// This method is called immediately after the object is created and before the unmarshalling of this // object begins. The callback provides an opportunity to initialize JavaBean properties prior to unmarshalling. void beforeUnmarshal(Unmarshaller, Object parent); //This method is called after all the properties (except IDREF) are unmarshalled for this object, //but before this object is set to the parent object. void afterUnmarshal(Unmarshaller, Object parent);Внешний механизм обратного вызова слушателя включает регистрации a
Unmarshaller.Listener
экземпляр сsetListener(Listener)
. Внешний слушатель получает все события обратного вызова, учитывая более централизованную обработку чем на class определенные методы обратного вызова. Внешний слушатель получает события, когда немаршалинг proces упорядочивает к элементу JAXB или к JAXB отображенный class.'class определенные' и внешние методы обратного вызова события слушателя независимы друг от друга, обоих можно вызвать для одного события. Упорядочивание вызова, когда оба метода обратного вызова слушателя существуют, определяется в
Unmarshaller.Listener.beforeUnmarshal(Object, Object)
иUnmarshaller.Listener.afterUnmarshal(Object, Object)
.Метод обратного вызова события, выдающий исключение, завершается, ток неупорядочивают процесс.
JAXBContext
, Marshaller
, Validator
Модификатор и Тип | Интерфейс и Описание |
---|---|
static class |
Unmarshaller. Слушатель
Зарегистрируйте экземпляр реализации этого class с
Unmarshaller чтобы внешне прислушаться неупорядочивают события. |
Модификатор и Тип | Метод и Описание |
---|---|
<A extends XmlAdapter> |
getAdapter(Class<A> type)
Связали адаптер с указанным типом.
|
AttachmentUnmarshaller |
getAttachmentUnmarshaller() |
ValidationEventHandler |
getEventHandler()
Возвратите текущий обработчик событий или обработчик стандартного события, если Вы не были установлены.
|
Unmarshaller. Слушатель |
getListener()
Возвратиться
Unmarshaller.Listener зарегистрированный в этом Unmarshaller . |
Объект |
getProperty(String name)
Получите определенное свойство в базовой реализации Unmarshaller.
|
Схема |
getSchema()
Получите JAXP 1.3
Schema объект, используемый, чтобы выполнить, неупорядочивает разовую проверку допустимости. |
UnmarshallerHandler |
getUnmarshallerHandler()
Получите unmarshaller объект-обработчик, который может использоваться в качестве компонента в конвейере XML.
|
boolean |
isValidating()
Осуждаемый.
начиная с JAXB2.0, пожалуйста, см.
getSchema() |
<A extends XmlAdapter> |
setAdapter(Class<A> type, A adapter)
Связывает сконфигурированный экземпляр
XmlAdapter с этим unmarshaller. |
void |
setAdapter(XmlAdapter adapter)
Связывает сконфигурированный экземпляр
XmlAdapter с этим unmarshaller. |
void |
setAttachmentUnmarshaller(AttachmentUnmarshaller au)
Свяжите контекст, который разрешает уголовного розыска, URI идентификатора контента, к двоичным данным, которых передают как присоединения.
|
void |
setEventHandler(ValidationEventHandler handler)
Позвольте приложению регистрировать ValidationEventHandler.
|
void |
setListener(Unmarshaller.Listener listener)
Регистр неупорядочивает обратный вызов события
Unmarshaller.Listener с этим Unmarshaller . |
void |
setProperty(String name, Object value)
Установите определенное свойство в базовой реализации Unmarshaller.
|
void |
setSchema(Schema schema)
Определите JAXP 1.3
Schema объект, который должен использоваться, чтобы проверить последующий, неупорядочивает операции против. |
void |
setValidating(boolean validating)
Осуждаемый.
начиная с JAXB2.0, пожалуйста, см.
setSchema(javax.xml.validation.Schema) |
Объект |
unmarshal(File f)
Неупорядочьте данные XML от указанного файла и возвратите получающееся дерево контента.
|
Объект |
unmarshal(InputSource source)
Неупорядочьте данные XML от указанного SAX InputSource и возвратите получающееся дерево контента.
|
Объект |
unmarshal(InputStream is)
Неупорядочьте данные XML от указанного InputStream и возвратите получающееся дерево контента.
|
Объект |
unmarshal(Node node)
Неупорядочьте глобальные данные XML от указанного дерева ДОМА и возвратите получающееся дерево контента.
|
<T> JAXBElement<T> |
unmarshal(Node node, Class<T> declaredType)
Неупорядочьте данные XML по JAXB отображенный declaredType и возвратите получающееся дерево контента.
|
Объект |
unmarshal(Reader reader)
Неупорядочьте данные XML от указанного Читателя и возвратите получающееся дерево контента.
|
Объект |
unmarshal(Source source)
Неупорядочьте данные XML из указанного XML Источник и возвратите получающееся дерево контента.
|
<T> JAXBElement<T> |
unmarshal(Source source, Class<T> declaredType)
Неупорядочьте данные XML из указанного XML Источник declaredType и возвратите получающееся дерево контента.
|
Объект |
unmarshal(URL url)
Неупорядочьте данные XML от указанного URL и возвратите получающееся дерево контента.
|
Объект |
unmarshal(XMLEventReader reader)
Неупорядочьте данные XML от указанного синтаксического анализатора получения по запросу и возвратите получающееся дерево контента.
|
<T> JAXBElement<T> |
unmarshal(XMLEventReader reader, Class<T> declaredType)
Неупорядочьте корневой элемент к JAXB отображенный declaredType и возвратите получающееся дерево контента.
|
Объект |
unmarshal(XMLStreamReader reader)
Неупорядочьте данные XML от указанного синтаксического анализатора получения по запросу и возвратите получающееся дерево контента.
|
<T> JAXBElement<T> |
unmarshal(XMLStreamReader reader, Class<T> declaredType)
Неупорядочьте корневой элемент к JAXB отображенный declaredType и возвратите получающееся дерево контента.
|
Object unmarshal(File f) throws JAXBException
Реализации Неупорядочивают Глобальный Корневой Элемент.
f
- файл, чтобы неупорядочить данные XML отJAXBException
- Если какие-либо неожиданные ошибки происходят, неупорядочиваяUnmarshalException
- Если ValidationEventHandler
возвращает false от его метода handleEvent, или Unmarshaller неспособен выполнить XML к привязке Java. См. Немаршалинг Данных XMLIllegalArgumentException
- Если параметр файла является нулемObject unmarshal(InputStream is) throws JAXBException
Реализации Неупорядочивают Глобальный Корневой Элемент.
is
- InputStream, чтобы неупорядочить данные XML отJAXBException
- Если какие-либо неожиданные ошибки происходят, неупорядочиваяUnmarshalException
- Если ValidationEventHandler
возвращает false от его метода handleEvent, или Unmarshaller неспособен выполнить XML к привязке Java. См. Немаршалинг Данных XMLIllegalArgumentException
- Если параметр InputStream является нулемObject unmarshal(Reader reader) throws JAXBException
Реализации Неупорядочивают Глобальный Корневой Элемент.
reader
- Читатель, чтобы неупорядочить данные XML отJAXBException
- Если какие-либо неожиданные ошибки происходят, неупорядочиваяUnmarshalException
- Если ValidationEventHandler
возвращает false от его метода handleEvent, или Unmarshaller неспособен выполнить XML к привязке Java. См. Немаршалинг Данных XMLIllegalArgumentException
- Если параметр InputStream является нулемObject unmarshal(URL url) throws JAXBException
Реализации Неупорядочивают Глобальный Корневой Элемент.
url
- url, чтобы неупорядочить данные XML отJAXBException
- Если какие-либо неожиданные ошибки происходят, неупорядочиваяUnmarshalException
- Если ValidationEventHandler
возвращает false от его метода handleEvent, или Unmarshaller неспособен выполнить XML к привязке Java. См. Немаршалинг Данных XMLIllegalArgumentException
- Если параметр URL является нулемObject unmarshal(InputSource source) throws JAXBException
Реализации Неупорядочивают Глобальный Корневой Элемент.
source
- входной источник, чтобы неупорядочить данные XML отJAXBException
- Если какие-либо неожиданные ошибки происходят, неупорядочиваяUnmarshalException
- Если ValidationEventHandler
возвращает false от его метода handleEvent, или Unmarshaller неспособен выполнить XML к привязке Java. См. Немаршалинг Данных XMLIllegalArgumentException
- Если параметр InputSource является нулемObject unmarshal(Node node) throws JAXBException
Реализации Неупорядочивают Глобальный Корневой Элемент.
node
- документ/элемент, чтобы неупорядочить данные XML от. Вызывающая сторона должна поддерживать, по крайней мере, Документ и Элемент.JAXBException
- Если какие-либо неожиданные ошибки происходят, неупорядочиваяUnmarshalException
- Если ValidationEventHandler
возвращает false от его метода handleEvent, или Unmarshaller неспособен выполнить XML к привязке Java. См. Немаршалинг Данных XMLIllegalArgumentException
- Если параметр Узла является нулемunmarshal(org.w3c.dom.Node, Class)
<T> JAXBElement<T> unmarshal(Node node, Class<T> declaredType) throws JAXBException
Реализации Неупорядочивают по Объявленному Типу
node
- документ/элемент, чтобы неупорядочить данные XML от. Вызывающая сторона должна поддерживать, по крайней мере, Документ и Элемент.declaredType
- приспособьте JAXB отображенный class, чтобы содержать данные XML node.JAXBException
- Если какие-либо неожиданные ошибки происходят, неупорядочиваяUnmarshalException
- Если ValidationEventHandler
возвращает false от его метода handleEvent, или Unmarshaller неспособен выполнить XML к привязке Java. См. Немаршалинг Данных XMLIllegalArgumentException
- Если какой-либо параметр является нулемObject unmarshal(Source source) throws JAXBException
Реализации Неупорядочивают Глобальный Корневой Элемент.
SAX 2.0 Синтаксических анализатора Pluggability
Клиентское приложение может хотеть не использовать механизм синтаксического анализатора значения по умолчанию, предоставленный их провайдером JAXB. Любым SAX 2.0 совместимых синтаксических анализатора можно заменить механизм значения по умолчанию провайдера JAXB. Чтобы сделать так, клиентское приложение должно должным образом сконфигурировать SAXSource, содержащий XMLReader, реализованный SAX 2.0 провайдера синтаксического анализатора. Если XMLReader зарегистрируют org.xml.sax.ErrorHandler на этом, то это будет заменено Провайдером JAXB так, чтобы об ошибках проверки допустимости можно было сообщить через механизм ValidationEventHandler JAXB. Если SAXSource не будет содержать XMLReader, то механизм синтаксического анализатора значения по умолчанию провайдера JAXB будет использоваться.
Этот заменяющий механизм синтаксического анализатора может также использоваться, чтобы заменить провайдера JAXB, неупорядочивают разовый механизм проверки допустимости. Клиентское приложение должно должным образом сконфигурировать их SAX 2.0 совместимых синтаксических анализатора, чтобы выполнить проверку допустимости (как показано в примере выше). Любой SAXParserExceptions , с которым встречается синтаксический анализатор во время неупорядочивать работы, будет обработан провайдером JAXB и преобразован в объекты ValidationEvent JAXB, которые отчитаются клиенту через ValidationEventHandler, зарегистрированный в Unmarshaller. Отметьте: определение SAX проверки допустимости замены 2.0 синтаксических анализатора для того, чтобы неупорядочить не обязательно заменяет механизм проверки допустимости, используемый провайдером JAXB для того, чтобы выполнить по требованию проверку допустимости.
Единственный путь к клиентскому приложению, чтобы определить альтернативный механизм синтаксического анализатора, который будет использоваться во время, неупорядочивает, через API unmarshal(SAXSource). Все другие формы неупорядочивать метода (Файл, URL, Узел, и т.д.) будут использовать синтаксический анализатор значения по умолчанию провайдера JAXB и механизмы блока проверки допустимости.
source
- XML Источник, чтобы неупорядочить данные XML от (провайдеры только обязаны поддерживать SAXSource, DOMSource, и StreamSource),JAXBException
- Если какие-либо неожиданные ошибки происходят, неупорядочиваяUnmarshalException
- Если ValidationEventHandler
возвращает false от его метода handleEvent, или Unmarshaller неспособен выполнить XML к привязке Java. См. Немаршалинг Данных XMLIllegalArgumentException
- Если Исходный параметр является нулемunmarshal(javax.xml.transform.Source, Class)
<T> JAXBElement<T> unmarshal(Source source, Class<T> declaredType) throws JAXBException
Реализации Неупорядочивают по Объявленному Типу
source
- XML Источник, чтобы неупорядочить данные XML от (провайдеры только обязаны поддерживать SAXSource, DOMSource, и StreamSource),declaredType
- приспособьте JAXB отображенный class, чтобы содержать корневой элемент xml sourceJAXBException
- Если какие-либо неожиданные ошибки происходят, неупорядочиваяUnmarshalException
- Если ValidationEventHandler
возвращает false от его метода handleEvent, или Unmarshaller неспособен выполнить XML к привязке Java. См. Немаршалинг Данных XMLIllegalArgumentException
- Если какой-либо параметр является нулемObject unmarshal(XMLStreamReader reader) throws JAXBException
Реализации Неупорядочивают Глобальный Корневой Элемент.
Этот метод предполагает, что синтаксический анализатор находится на событии START_DOCUMENT ИЛИ START_ELEMENT. Немаршалинг будет сделан от этого события запуска до соответствующего события конца. Если этот метод возвратится успешно, то reader будет указывать на маркер прямо после события конца.
reader
- Синтаксический анализатор, который будет считан.JAXBException
- Если какие-либо неожиданные ошибки происходят, неупорядочиваяUnmarshalException
- Если ValidationEventHandler
возвращает false от его метода handleEvent, или Unmarshaller неспособен выполнить XML к привязке Java. См. Немаршалинг Данных XMLIllegalArgumentException
- Если параметр reader является нулемIllegalStateException
- Если reader не указывает на событие START_DOCUMENT ИЛИ START_ELEMENT.unmarshal(javax.xml.stream.XMLStreamReader, Class)
<T> JAXBElement<T> unmarshal(XMLStreamReader reader, Class<T> declaredType) throws JAXBException
Этот метод реализации неупорядочивает по declaredType.
Этот метод предполагает, что синтаксический анализатор находится на событии START_DOCUMENT ИЛИ START_ELEMENT. Немаршалинг будет сделан от этого события запуска до соответствующего события конца. Если этот метод возвратится успешно, то reader будет указывать на маркер прямо после события конца.
reader
- Синтаксический анализатор, который будет считан.declaredType
- приспособьте JAXB отображенный class, чтобы содержать данные XML reader START_ELEMENT.JAXBException
- Если какие-либо неожиданные ошибки происходят, неупорядочиваяUnmarshalException
- Если ValidationEventHandler
возвращает false от его метода handleEvent, или Unmarshaller неспособен выполнить XML к привязке Java. См. Немаршалинг Данных XMLIllegalArgumentException
- Если какой-либо параметр является нулемObject unmarshal(XMLEventReader reader) throws JAXBException
Этот метод является методом Unmarshal Global Root.
Этот метод предполагает, что синтаксический анализатор находится на событии START_DOCUMENT ИЛИ START_ELEMENT. Немаршалинг будет сделан от этого события запуска до соответствующего события конца. Если этот метод возвратится успешно, то reader будет указывать на маркер прямо после события конца.
reader
- Синтаксический анализатор, который будет считан.JAXBException
- Если какие-либо неожиданные ошибки происходят, неупорядочиваяUnmarshalException
- Если ValidationEventHandler
возвращает false от его метода handleEvent, или Unmarshaller неспособен выполнить XML к привязке Java. См. Немаршалинг Данных XMLIllegalArgumentException
- Если параметр reader является нулемIllegalStateException
- Если reader не указывает на событие START_DOCUMENT ИЛИ START_ELEMENT.unmarshal(javax.xml.stream.XMLEventReader, Class)
<T> JAXBElement<T> unmarshal(XMLEventReader reader, Class<T> declaredType) throws JAXBException
Этот метод реализации неупорядочивает по declaredType.
Этот метод предполагает, что синтаксический анализатор находится на событии START_DOCUMENT ИЛИ START_ELEMENT. Немаршалинг будет сделан от этого события запуска до соответствующего события конца. Если этот метод возвратится успешно, то reader будет указывать на маркер прямо после события конца.
reader
- Синтаксический анализатор, который будет считан.declaredType
- приспособьте JAXB отображенный class, чтобы содержать данные XML reader START_ELEMENT.JAXBException
- Если какие-либо неожиданные ошибки происходят, неупорядочиваяUnmarshalException
- Если ValidationEventHandler
возвращает false от его метода handleEvent, или Unmarshaller неспособен выполнить XML к привязке Java. См. Немаршалинг Данных XMLIllegalArgumentException
- Если какой-либо параметр является нулемUnmarshallerHandler getUnmarshallerHandler()
Провайдер JAXB может возвратить тот же самый объект-обработчик для многократных вызовов этого метода. Другими словами этот метод не обязательно создает новый экземпляр UnmarshallerHandler. Если приложение должно использовать больше чем один UnmarshallerHandler, оно должно создать больше чем один Unmarshaller.
UnmarshallerHandler
void setValidating(boolean validating) throws JAXBException
setSchema(javax.xml.validation.Schema)
Этот метод может только быть вызван прежде или после вызова одного из неупорядочивать методов.
Этот метод только управляет значением по умолчанию Провайдера JAXB, неупорядочивают разовый механизм проверки допустимости - это не оказывает влияния на клиенты, которые определяют их собственный SAX проверки допустимости 2.0 совместимых синтаксических анализатора. Клиенты, которые определяют их собственное, неупорядочивают разовый механизм проверки допустимости, может хотеть выключить механизм проверки допустимости значения по умолчанию Провайдера JAXB через этот API, чтобы избежать "двойной проверки допустимости".
Этот метод осуждается с JAXB 2.0 - пожалуйста, используйте новое setSchema(javax.xml.validation.Schema)
API.
validating
- истина, если Unmarshaller должен проверить во время, неупорядочивает, ложь иначеJAXBException
- если ошибка произошла, в то время как включение или отключение проверки допустимости в неупорядочивают времяUnsupportedOperationException
- мог быть брошен, если этот метод вызывается на Unmarshaller, создаваемый из JAXBContext, ссылающегося на JAXB 2.0 отображенных классаboolean isValidating() throws JAXBException
getSchema()
Этот API возвращается, состояние значения по умолчанию Провайдера JAXB неупорядочивают разовый механизм проверки допустимости.
Этот метод осуждается с JAXB 2.0 - пожалуйста, используйте новое getSchema()
API.
JAXBException
- если ошибка происходит, получая флаг проверки допустимостиUnsupportedOperationException
- мог быть брошен, если этот метод вызывается на Unmarshaller, создаваемый из JAXBContext, ссылающегося на JAXB 2.0 отображенных классаvoid setEventHandler(ValidationEventHandler handler) throws JAXBException
ValidationEventHandler вызовет Провайдер JAXB, если с какими-либо ошибками проверки допустимости встретятся во время звонков в какой-либо из неупорядочивать методов. Если клиентское приложение не зарегистрирует ValidationEventHandler прежде, чем вызвать неупорядочивать методы, то ValidationEvents будет обработан обработчиком стандартного события, который завершит неупорядочивать работу после первой ошибки, или с фатальной ошибкой встречаются.
Вызов этого метода с нулевым параметром заставит Unmarshaller возвращаться назад к обработчику стандартного события.
handler
- обработчик событий проверки допустимостиJAXBException
- если с ошибкой встретились, устанавливая обработчик событийValidationEventHandler getEventHandler() throws JAXBException
JAXBException
- если с ошибкой встретились, получая текущий обработчик событийvoid setProperty(String name, Object value) throws PropertyException
name
- имя свойства, которое будет установлено. Это значение может или быть определено, используя одно из постоянных полей или пользователя предоставленная строка.value
- значение свойства, которое будет установленоPropertyException
- когда есть ошибка, обрабатывая данное свойство или значениеIllegalArgumentException
- Если параметр имени является нулемObject getProperty(String name) throws PropertyException
name
- имя свойства, чтобы получитьPropertyException
- когда есть ошибка, получая данное свойство или имя свойства значенияIllegalArgumentException
- Если параметр имени является нулемvoid setSchema(Schema schema)
Schema
объект, который должен использоваться, чтобы проверить последующий, неупорядочивает операции против. Передача нуля в этот метод отключит проверку допустимости. Этот метод заменяет осуждаемый setValidating(boolean)
API.
Первоначально это свойство устанавливается в null.
schema
- Объект схемы проверить неупорядочивает операции против или нуль, чтобы отключить проверку допустимостиUnsupportedOperationException
- мог быть брошен, если этот метод вызывается на Unmarshaller, создаваемый из JAXBContext, ссылающегося на JAXB 1.0 отображенных классаSchema getSchema()
Schema
объект, используемый, чтобы выполнить, неупорядочивает разовую проверку допустимости. Если не будет никакого набора Схемы на unmarshaller, то этот метод возвратит нуль, указывающий, которые неупорядочивают разовую проверку допустимости, не будет выполняться. Этот метод обеспечивает заменяющую функциональность для осуждаемого isValidating()
API так же как доступ к объекту Схемы. Чтобы определить, включали ли Unmarshaller проверке допустимости, просто протестируйте тип возврата на нуль:
boolean isValidating = u.getSchema()!=null;
UnsupportedOperationException
- мог быть брошен, если этот метод вызывается на Unmarshaller, создаваемый из JAXBContext, ссылающегося на JAXB 1.0 отображенных классаvoid setAdapter(XmlAdapter adapter)
XmlAdapter
с этим unmarshaller. Это - метод удобства, который вызывает setAdapter(adapter.getClass(),adapter);
.
IllegalArgumentException
- если параметр адаптера является нулем.UnsupportedOperationException
- если вызвано agains JAXB 1.0 реализации.setAdapter(Class,XmlAdapter)
<A extends XmlAdapter> void setAdapter(Class<A> type, A adapter)
XmlAdapter
с этим unmarshaller. Каждый unmarshaller внутренне поддерживает a Map
<Class
,XmlAdapter
>, который это использует для того, чтобы неупорядочить классы, поля/методы которых аннотируются XmlJavaTypeAdapter
.
Этот метод позволяет приложениям использовать сконфигурированный экземпляр XmlAdapter
. Когда пример адаптера не будет приведен, unmarshaller создаст один, вызывая его конструктора по умолчанию.
type
- Тип адаптера. Указанный экземпляр будет использоваться когда XmlJavaTypeAdapter.value()
обращается к этому типу.adapter
- Экземпляр адаптера, который будет использоваться. Если ноль, это незарегистрирует текущий набор адаптера для этого типа.IllegalArgumentException
- если параметр типа является нулем.UnsupportedOperationException
- если вызвано agains JAXB 1.0 реализации.<A extends XmlAdapter> A getAdapter(Class<A> type)
setAdapter(javax.xml.bind.annotation.adapters.XmlAdapter)
метод.IllegalArgumentException
- если параметр типа является нулем.UnsupportedOperationException
- если вызвано agains JAXB 1.0 реализации.void setAttachmentUnmarshaller(AttachmentUnmarshaller au)
Свяжите контекст, который разрешает уголовного розыска, URI идентификатора контента, к двоичным данным, которых передают как присоединения.
Неупорядочьте проверку допустимости времени, включенную через setSchema(Schema)
, должен поддерживаться, даже когда unmarshaller выполняет обработку XOP.
IllegalStateException
- если попытка одновременно вызвать этот метод во время неупорядочивать работы.AttachmentUnmarshaller getAttachmentUnmarshaller()
void setListener(Unmarshaller.Listener listener)
Регистр неупорядочивает обратный вызов события Unmarshaller.Listener
с этим Unmarshaller
.
Есть только один Слушатель на Unmarshaller. Установка Слушателя заменяет предыдущего Слушателя набора. Можно незарегистрировать текущего Слушателя, устанавливая слушателя null.
listener
- обеспечивает неупорядочивают обратные вызовы события для этого Unmarshaller
Unmarshaller.Listener getListener()
Возвратиться Unmarshaller.Listener
зарегистрированный в этом Unmarshaller
.
Unmarshaller.Listener
или null
если никакой Слушатель не регистрируется в этом Unmarshaller.
Для дальнейшей ссылки API и документации разработчика, см. Java Документация SE. Та документация содержит более подробные, предназначенные разработчиком описания, с концептуальными краткими обзорами, определениями сроков, обходных решений, и рабочих примеров кода.
Авторское право © 1993, 2013, Oracle и/или его филиалы. Все права защищены.
ЧЕРНОВАЯ земля-b92