Spec-Zone .ru
спецификации, руководства, описания, API
|
public abstract class Binder<XmlNode> extends Object
Экземпляр этого класса поддерживает ассоциацию между узлами XML представления сохранения инфонабора и представлением JAXB XML-документа. Навигация между двумя представлениями обеспечивается методами getXMLNode(Object)
и getJAXBNode(Object)
.
Модификации могут быть сделаны или к представлению сохранения инфонабора или к представлению JAXB документа, в то время как другое представление остается неизмененным. Редактор связей в состоянии синхронизировать изменения, произведенные в измененном представлении назад в другое представление, используя соответствующие методы обновления Редактора связей, updateXML(Object, Object)
или updateJAXB(Object)
.
Типичный сценарий использования является следующим:
unmarshal(Object)
Инфонабор XML просматривает к представлению JAXB. (Отметьте, чтобы сохранить ресурсы, возможно только неупорядочить поддерево представления инфонабора XML к представлению JAXB.)updateXML(Object)
синхронизирует модификации с представлением JAXB назад в представление инфонабора XML. Работа обновления сохраняет такой большой исходный инфонабор XML насколько возможно (то есть комментарии, PI...) Экземпляр Редактора связей создается, используя метод фабрики JAXBContext.createBinder()
или JAXBContext.createBinder(Class)
.
Шаблонный параметр, XmlNode
, корневой интерфейс/класс для представления сохранения инфонабора XML. Реализация Редактора связей обязана минимально поддерживать XmlNode
значение org.w3c.dom.Node.class
. Реализация Редактора связей может поддерживать альтернативные представления сохранения инфонабора XML.
Конструктор и Описание |
---|
Binder() |
Модификатор и Тип | Метод и Описание |
---|---|
abstract ValidationEventHandler |
getEventHandler()
Возвратите текущий обработчик событий или обработчик стандартного события, если Вы не были установлены.
|
abstract Object |
getJAXBNode(XmlNode xmlNode)
Получает объект JAXB, связанный с данным элементом XML.
|
abstract Object |
getProperty(String name)
Получите определенное свойство в базовой реализации Binder.
|
abstract Schema |
getSchema()
Получает последнее
Schema объект (включая нуль) установленный setSchema(Schema) метод. |
abstract XmlNode |
getXMLNode(Object jaxbObject)
Связали элемент XML с данным объектом JAXB.
|
abstract void |
marshal(Object jaxbObject, XmlNode xmlNode)
Упорядочьте дерево объекта JAXB к новому XML-документу.
|
abstract void |
setEventHandler(ValidationEventHandler handler)
Позвольте приложению регистрировать ValidationEventHandler.
|
abstract void |
setProperty(String name, Object value)
Установите определенное свойство в базовой реализации Binder.
|
abstract void |
setSchema(Schema schema)
Определяет, упорядочивают ли, неупорядочивают и обновляют методы, выполняет проверку допустимости на их контенте XML.
|
abstract Object |
unmarshal(XmlNode xmlNode)
Неупорядочьте представление инфонабора XML к дереву объекта JAXB.
|
abstract <T> JAXBElement<T> |
unmarshal(XmlNode xmlNode, Class<T> declaredType)
Неупорядочьте корневой элемент XML по обеспеченному declaredType к дереву объекта JAXB.
|
abstract Object |
updateJAXB(XmlNode xmlNode)
Берет узел XML и обновляет его связанный объект JAXB и его потомков.
|
abstract XmlNode |
updateXML(Object jaxbObject)
Берет объект JAXB и обновляет его связанный узел XML и его потомков.
|
abstract XmlNode |
updateXML(Object jaxbObject, XmlNode xmlNode)
Изменения в JAXB возражают, что дерево обновляется в его связанном дереве синтаксического анализа XML.
|
public abstract Object unmarshal(XmlNode xmlNode) throws JAXBException
Этот метод подобен Unmarshaller.unmarshal(Node)
с добавлением поддержания ассоциации между узлами XML и произведенными объектами JAXB, включая будущему обновляют операции, updateXML(Object, Object)
или updateJAXB(Object)
.
Когда getSchema()
ненуль, xmlNode
и его потомки проверяются во время этой работы.
Этот метод броски UnmarshalException
когда Редактор связей JAXBContext
не имеет отображения для имени элемента XML или типа, specifiable через @xsi:type, xmlNode к JAXB отображенный класс. Метод unmarshal(Object, Class)
позволяет приложению определить JAXB отображенный класс, на который должен быть отображен xmlNode.
xmlNode
- документ/элемент, чтобы неупорядочить данные XML от.JAXBException
- Если какие-либо неожиданные ошибки происходят, неупорядочиваяUnmarshalException
- Если ValidationEventHandler
возвращает false от его метода handleEvent, или Binder неспособен выполнить XML к привязке Java.IllegalArgumentException
- Если параметр узла является нулемpublic abstract <T> JAXBElement<T> unmarshal(XmlNode xmlNode, Class<T> declaredType) throws JAXBException
Реализации Неупорядочивают по Объявленному Типу
Этот метод подобен Unmarshaller.unmarshal(Node, Class)
с добавлением поддержания ассоциации между узлами XML и произведенными объектами JAXB, включая будущему обновляют операции, updateXML(Object, Object)
или updateJAXB(Object)
.
Когда getSchema()
ненуль, xmlNode
и его потомки проверяются во время этой работы.
xmlNode
- документ/элемент, чтобы неупорядочить данные XML от.declaredType
- приспособьте JAXB отображенный класс, чтобы содержать данные XML node.JAXBException
- Если какие-либо неожиданные ошибки происходят, неупорядочиваяUnmarshalException
- Если ValidationEventHandler
возвращает false от его метода handleEvent, или Binder неспособен выполнить XML к привязке Java.IllegalArgumentException
- Если какой-либо из входных параметров является нулемpublic abstract void marshal(Object jaxbObject, XmlNode xmlNode) throws JAXBException
Этот метод подобен Marshaller.marshal(Object, Node)
с добавлением поддержания ассоциации между JAXB возражает и произведенные узлы XML, включая будущим операциям обновления такой как updateXML(Object, Object)
или updateJAXB(Object)
.
Когда getSchema()
ненуль, упорядоченный xml контент проверяется во время этой работы.
jaxbObject
- Дерево контента, которое будет упорядочено.xmlNode
- Параметром должен быть Узел, который принимает дочерние элементы.JAXBException
- Если какая-либо неожиданная проблема происходит во время маршалинга.MarshalException
- Если ValidationEventHandler
возвращает false от его метода handleEvent, или Binder неспособен упорядочить jaxbObject (или любой объект, достижимый от jaxbObject).IllegalArgumentException
- Если какой-либо из параметров метода является нулемpublic abstract XmlNode getXMLNode(Object jaxbObject)
Однажды JAXB возражают, что дерево связывается с фрагментом XML, этот метод включает навигации между этими двумя деревьями.
Ассоциация между элементом XML и объектом JAXB устанавливается связывать методами и методами обновления. Отметьте, что эта ассоциация является частичной; не все элементы XML связали объекты JAXB, и не все объекты JAXB связали элементы XML.
jaxbObject
- Экземпляр, который достижим от предшествующего звонка в метод связывания или обновления, который возвратил JAXB, возражает дереву.Binder
, или если это не связывается с элементом XML.IllegalArgumentException
- Если jaxbObject параметр является нулемpublic abstract Object getJAXBNode(XmlNode xmlNode)
Однажды JAXB возражают, что дерево связывается с фрагментом XML, этот метод включает навигации между этими двумя деревьями.
Ассоциация между элементом XML и объектом JAXB устанавливается неупорядочиванием, упорядочьте и обновите методы. Отметьте, что эта ассоциация является частичной; не все элементы XML связали объекты JAXB, и не все объекты JAXB связали элементы XML.
Binder
, или если это не связывается с объектом JAXB.IllegalArgumentException
- Если параметр узла является нулемpublic abstract XmlNode updateXML(Object jaxbObject) throws JAXBException
Это - метод удобства:
updateXML( jaxbObject, getXMLNode(jaxbObject));
JAXBException
- Если какая-либо неожиданная проблема происходит, обновляя соответствующий контент XML.IllegalArgumentException
- Если jaxbObject параметр является нулемpublic abstract XmlNode updateXML(Object jaxbObject, XmlNode xmlNode) throws JAXBException
Эта работа может считаться "оперативным" маршалингом. Различие - то, что вместо того, чтобы создать совершенно новое дерево XML, эта работа обновляет существующее дерево, пытаясь сохранить XML в максимально возможной степени.
Например, неизвестные элементы/атрибуты в XML, которые не были связаны с JAXB, оставят нетронутыми (тогда как работа маршалинга создала бы новое дерево, которое не содержит ни одного из тех.)
Как побочный эффект, эта работа обновляет ассоциацию между узлами XML и объектами JAXB.
jaxbObject
- корень потенциально измененного JAXB возражает деревуxmlNode
- корень обновления предназначается для дерева синтаксического анализа XMLJAXBException
- Если какая-либо неожиданная проблема происходит, обновляя соответствующий контент XML.IllegalArgumentException
- Если какой-либо из входных параметров является нулемpublic abstract Object updateJAXB(XmlNode xmlNode) throws JAXBException
Эта работа может считаться "оперативным" немаршалингом. Различие - то, что вместо того, чтобы создать совершенно новое дерево JAXB, эта работа обновляет существующее дерево, снова используя так много объектов JAXB насколько возможно.
Как побочный эффект, эта работа обновляет ассоциацию между узлами XML и объектами JAXB.
marshal(Object,Object)
или updateJAXB(Object)
вызов метода, но это возможно различный объект, например когда имя элемента XML изменилось.JAXBException
- Если какая-либо неожиданная проблема происходит, обновляя соответствующий JAXB отображенный контент.IllegalArgumentException
- Если параметр узла является нулемpublic abstract void setSchema(Schema schema)
schema
- установите в NULL, чтобы отключить проверку допустимости.Unmarshaller.setSchema(Schema)
public abstract Schema getSchema()
Schema
объект (включая нуль) установленный setSchema(Schema)
метод.public abstract void setEventHandler(ValidationEventHandler handler) throws JAXBException
ValidationEventHandler вызовет Провайдер JAXB, если с какими-либо ошибками проверки допустимости встретятся во время звонков в какой-либо Редактор связей, неупорядочивают, упорядочивают и обновляют методы.
Вызов этого метода с нулевым параметром заставит Редактор связей возвращаться назад к обработчику стандартного события по умолчанию.
handler
- обработчик событий проверки допустимостиJAXBException
- если с ошибкой встретились, устанавливая обработчик событийpublic abstract ValidationEventHandler getEventHandler() throws JAXBException
JAXBException
- если с ошибкой встретились, получая текущий обработчик событийpublic abstract void setProperty(String name, Object value) throws PropertyException
name
- имя свойства, которое будет установлено. Это значение может или быть определено, используя одно из постоянных полей или пользователя предоставленная строка.value
- значение свойства, которое будет установленоPropertyException
- когда есть ошибка, обрабатывая данное свойство или значениеIllegalArgumentException
- Если параметр имени является нулемpublic abstract Object getProperty(String name) throws PropertyException
name
- имя свойства, чтобы получитьPropertyException
- когда есть ошибка, получая данное свойство или имя свойства значенияIllegalArgumentException
- Если параметр имени является нулем
Для дальнейшей ссылки API и документации разработчика, см.
Авторское право © 1993, 2011, Oracle и/или его филиалы. Все права защищены.