Интерфейс Marshaller
- Все известные реализующие классы:
- AbstractMarshallerImpl
public interface Marshaller
Класс Marshaller отвечает за управление процессом сериализации деревьев Java-содержимого обратно в XML-данные. Он предоставляет базовые методы маршаллирования:
Предполагается следующий код настройки для всех последующих фрагментов кода:
JAXBContext jc = JAXBContext.newInstance( "com.acme.foo" ); Unmarshaller u = jc.createUnmarshaller(); Object element = u.unmarshal( new File( "foo.xml" ) ); Marshaller m = jc.createMarshaller();
Маршаллирование в файл:
OutputStream os = new FileOutputStream( "nosferatu.xml" ); m.marshal( element, os );
Маршаллирование в SAX ContentHandler:
// assume MyContentHandler instanceof ContentHandler m.marshal( element, new MyContentHandler() );
Маршаллирование в DOM Node:
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); dbf.setNamespaceAware(true); DocumentBuilder db = dbf.newDocumentBuilder(); Document doc = db.newDocument(); m.marshal( element, doc );
Маршаллирование в java.io.OutputStream:
m.marshal( element, System.out );
Маршаллирование в java.io.Writer:
m.marshal( element, new PrintWriter( System.out ) );
Маршаллирование в javax.xml.transform.SAXResult:
// assume MyContentHandler instanceof ContentHandler SAXResult result = new SAXResult( new MyContentHandler() ); m.marshal( element, result );
Маршаллирование в javax.xml.transform.DOMResult:
DOMResult result = new DOMResult(); m.marshal( element, result );
Маршаллирование в javax.xml.transform.StreamResult:
StreamResult result = new StreamResult( System.out ); m.marshal( element, result );
Маршаллирование в javax.xml.stream.XMLStreamWriter:
XMLStreamWriter xmlStreamWriter =
XMLOutputFactory.newInstance().createXMLStreamWriter( ... );
m.marshal( element, xmlStreamWriter ); Маршаллирование в javax.xml.stream.XMLEventWriter:
XMLEventWriter xmlEventWriter =
XMLOutputFactory.newInstance().createXMLEventWriter( ... );
m.marshal( element, xmlEventWriter ); Маршаллирование дерева содержимого, укоренённого в элементе JAXB
The first parameter of the overloaded Marshaller.marshal(java.lang.Object, ...) methods must be a JAXB element as computed by JAXBIntrospector.isElement(java.lang.Object); otherwise, a Marshaller.marshal method must throw a MarshalException. There exist two mechanisms to enable marshalling an instance that is not a JAXB element. One method is to wrap the instance as a value of a JAXBElement, and pass the wrapper element as the first parameter to a Marshaller.marshal method. For java to schema binding, it is also possible to simply annotate the instance's class with @XmlRootElement.
Кодировка
By default, the Marshaller will use UTF-8 encoding when generating XML data to a java.io.OutputStream, or a java.io.Writer. Use the setProperty API to change the output encoding used during these marshal operations. Client applications are expected to supply a valid character encoding name as defined in the W3C XML 1.0 Recommendation and supported by your Java Platform.
Валидация и корректность
Приложениям-клиентам не требуется валидировать дерево Java-содержимого перед вызовом API маршаллирования. Кроме того, нет требования, чтобы дерево Java-содержимого было валидным относительно исходной схемы, чтобы маршаллировать его обратно в XML-данные. Различные поставщики JAXB поддерживают маршаллирование невалидных деревьев Java-содержимого на разных уровнях, однако все поставщики JAXB должны уметь маршаллировать валидное дерево содержимого обратно в XML-данные. Поставщик JAXB должен бросить исключение
MarshalExceptionпри невозможности завершить операцию маршаллирования из-за невалидного содержимого. Некоторые поставщики JAXB полностью разрешают маршаллирование невалидного содержимого, другие откажутся при первой ошибке валидации.Даже когда валидация схемы не явно включена для операции маршаллирования, возможно, что некоторые типы событий валидации будут обнаружены во время операции. События валидации будут сообщены зарегистрированному обработчику событий. Если приложение-клиент не зарегистрировало обработчик событий перед вызовом одного из API маршаллирования, то события будут переданы в обработчик по умолчанию, который завершит операцию маршаллирования после обнаружения первой ошибки или критической ошибки. Обратите внимание, что для JAXB 2.0 и более поздних версий,
DefaultValidationEventHandlerбольше не используется.
Поддерживаемые свойства
Все поставщики JAXB обязаны поддерживать следующий набор свойств. Некоторые поставщики могут поддерживать дополнительные свойства.
jaxb.encoding- значение должно быть java.lang.String- Кодировка вывода для использования при маршаллировании XML-данных. Маршаллировщик по умолчанию будет использовать "UTF-8", если это свойство не указано.
jaxb.formatted.output- значение должно быть java.lang.Boolean- Это свойство контролирует, будет ли маршаллировщик форматировать результирующие XML-данные с разрывами строк и отступами. Значение true для этого свойства указывает удобочитаемые отформатированные XML-данные, а значение false - неформатированные XML-данные. Маршаллировщик по умолчанию будет использовать false (неформатированный) если это свойство не указано.
jaxb.schemaLocation- значение должно быть java.lang.String- Это свойство позволяет приложению-клиенту указать атрибут xsi:schemaLocation в генерируемых XML-данных. Формат значения атрибута schemaLocation обсуждается в понятной, ненормативной форме в Разделе 5.6 W3C XML Schema Part 0: Primer и указан в Разделе 2.6 W3C XML Schema Part 1: Structures.
jaxb.noNamespaceSchemaLocation- значение должно быть java.lang.String- Это свойство позволяет приложению-клиенту указать атрибут xsi:noNamespaceSchemaLocation в генерируемых XML-данных. Формат значения атрибута schemaLocation обсуждается в понятной, ненормативной форме в Разделе 5.6 W3C XML Schema Part 0: Primer и указан в Разделе 2.6 W3C XML Schema Part 1: Structures.
jaxb.fragment- значение должно быть java.lang.Boolean- Это свойство определяет, будут ли генерироваться события уровня документа маршаллировщиком. Если свойство не указано, значение по умолчанию
false. Это свойство имеет разные последствия в зависимости от используемого API маршаллирования - когда это свойство установлено в true:
marshal(Object,ContentHandler)- маршаллировщик не вызоветContentHandler.startDocument()иContentHandler.endDocument().marshal(Object,Node)- свойство не влияет на этот API.marshal(Object,OutputStream)- маршаллировщик не сгенерирует объявление XML.marshal(Object,Writer)- маршаллировщик не сгенерирует объявление XML.marshal(Object,Result)- зависит от типа объекта Result, см. семантику для Node, ContentHandler и Stream APImarshal(Object,XMLEventWriter)- маршаллировщик не сгенерирует событияXMLStreamConstants.START_DOCUMENTиXMLStreamConstants.END_DOCUMENT.marshal(Object,XMLStreamWriter)- маршаллировщик не сгенерирует событияXMLStreamConstants.START_DOCUMENTиXMLStreamConstants.END_DOCUMENT.
Обратные вызовы событий маршаллирования
"ИнтерфейсMarshallerпредоставляет два типа механизмов обратных вызовов, которые позволяют обработку, специфичную для приложения, в ключевые моменты процесса маршаллирования. В обратных вызовах, определяемых классом, код приложения, размещённый в отображаемых JAXB классах, запускается во время маршаллирования. 'Внешние слушатели' позволяют централизованную обработку событий маршаллирования в одном методе обратного вызова вместо обратных вызовов событий по типу.Методы обратного вызова событий, определяемые классом, позволяют любому отображаемому классу JAXB указать свои собственные методы обратного вызова, определяя методы со следующими сигнатурами:
// Invoked by Marshaller after it has created an instance of this object. boolean beforeMarshal(Marshaller); // Invoked by Marshaller after it has marshalled all properties of this object. void afterMarshal(Marshaller);Методы обратного вызова событий, определяемые классом, должны использоваться, когда метод обратного вызова требует доступа к закрытым методам и/или полям класса.Механизм обратного вызова внешних слушателей позволяет зарегистрировать экземпляр
Marshaller.Listenerс помощьюsetListener(Listener). Внешний слушатель получает все события обратного вызова, что позволяет более централизованную обработку, чем методы обратного вызова по каждому классу.Методы обратного вызова 'определяемые классом' и внешние слушатели независимы друг от друга, оба могут вызываться для одного события. Порядок вызова, когда оба метода обратного вызова существуют, определен в
Marshaller.Listener.beforeMarshal(Object)иMarshaller.Listener.afterMarshal(Object).Метод обратного вызова, выбрасывающий исключение, завершает текущий процесс маршаллирования.
- С момента:
- JAXB1.0
- См. также:
-
JAXBContext,Validator,Unmarshaller
Вложенные классы
| Модификатор и тип | Интерфейс и описание |
|---|---|
static class |
Marshaller.Listener
Зарегистрируйте экземпляр реализации этого класса с Marshaller, чтобы внешне прослушивать события маршаллирования. |
Поля
| Модификатор и тип | Поле и описание |
|---|---|
static String |
JAXB_ENCODING Имя свойства, используемого для указания кодировки вывода в маршаллируемых XML-данных. |
static String |
JAXB_FORMATTED_OUTPUT Имя свойства, используемого для указания, форматируются ли маршаллируемые XML-данные с разрывами строк и отступами. |
static String |
JAXB_FRAGMENT Имя свойства, используемого для указания, будет ли маршаллировщик генерировать события уровня документа (например, вызов startDocument или endDocument). |
static String |
JAXB_NO_NAMESPACE_SCHEMA_LOCATION Имя свойства, используемого для указания значения атрибута xsi:noNamespaceSchemaLocation, которое следует поместить в маршаллируемый XML-вывод. |
static String |
JAXB_SCHEMA_LOCATION Имя свойства, используемого для указания значения атрибута xsi:schemaLocation, которое следует поместить в маршаллируемый XML-вывод. |
Методы
| Модификатор и тип | Метод и описание |
|---|---|
<A extends XmlAdapter> |
getAdapter(Class<A> type) Получает адаптер, связанный с указанным типом. |
AttachmentMarshaller |
getAttachmentMarshaller() |
ValidationEventHandler |
getEventHandler() Возвращает текущий обработчик событий или обработчик по умолчанию, если он не был задан. |
Marshaller.Listener |
getListener() Возвращает зарегистрированный |
Node |
getNode(Object contentTree) Получает представление дерева DOM для дерева содержимого (необязательно). |
Object |
getProperty(String name) Получает определенное свойство в базовой реализации |
Schema |
getSchema() Получает объект JAXP 1.3 |
void |
marshal(Object jaxbElement,
ContentHandler handler) Маршализует дерево содержимого, укорененное в |
void |
marshal(Object jaxbElement,
File output) Маршализует дерево содержимого, укорененное в |
void |
marshal(Object jaxbElement,
Node node) Маршализует дерево содержимого, укорененное в |
void |
marshal(Object jaxbElement,
OutputStream os) Маршализует дерево содержимого, укорененное в |
void |
marshal(Object jaxbElement,
Result result) Маршализует дерево содержимого, укорененное в |
void |
marshal(Object jaxbElement,
Writer writer) Маршализует дерево содержимого, укорененное в |
void |
marshal(Object jaxbElement,
XMLEventWriter writer) Маршализует дерево содержимого, укорененное в |
void |
marshal(Object jaxbElement,
XMLStreamWriter writer) Маршализует дерево содержимого, укорененное в |
<A extends XmlAdapter> |
setAdapter(Class<A> type,
A adapter) Связывает с этим маршалайзером настроенный экземпляр |
void |
setAdapter(XmlAdapter adapter) Связывает с этим маршалайзером настроенный экземпляр |
void |
setAttachmentMarshaller(AttachmentMarshaller am) Связывает контекст, который позволяет передавать двоичные данные в XML-документе как оптимизированное бинарное вложение XML. |
void |
setEventHandler(ValidationEventHandler handler) Разрешает приложению зарегистрировать обработчик событий валидации. |
void |
setListener(Marshaller.Listener listener) Регистрирует обратный вызов события маршализации |
void |
setProperty(String name,
Object value) Устанавливает определенное свойство в базовой реализации |
void |
setSchema(Schema schema) Указывает объект JAXP 1.3 |
Поля
JAXB_ENCODING
static final String JAXB_ENCODING
Имя свойства, используемого для указания кодировки вывода в маршализованных данных XML.
- См. также:
- Значения константных полей
JAXB_FORMATTED_OUTPUT
static final String JAXB_FORMATTED_OUTPUT
Имя свойства, используемого для указания форматирования маршализованных данных XML с помощью символов новой строки и отступов.
- См. также:
- Значения константных полей
JAXB_SCHEMA_LOCATION
static final String JAXB_SCHEMA_LOCATION
Имя свойства, используемого для указания значения атрибута xsi:schemaLocation для размещения в выходных маршализованных данных XML.
- См. также:
- Значения константных полей
JAXB_NO_NAMESPACE_SCHEMA_LOCATION
static final String JAXB_NO_NAMESPACE_SCHEMA_LOCATION
Имя свойства, используемого для указания значения атрибута xsi:noNamespaceSchemaLocation для размещения в выходных маршализованных данных XML.
- См. также:
- Значения константных полей
JAXB_FRAGMENT
static final String JAXB_FRAGMENT
Имя свойства, используемого для указания того, генерирует ли маршализующий компонент события уровня документа (т.е. вызывает startDocument или endDocument).
- См. также:
- Значения константных полей
Методы
marshal
void marshal(Object jaxbElement,
Result result)
throws JAXBException Маршализует дерево содержимого, укорененное в jaxbElement, в указанный javax.xml.transform.Result.
Все поставщики JAXB должны, по крайней мере, поддерживать DOMResult, SAXResult и StreamResult. Также может поддерживать и другие производные классы от Result.
- Параметры:
-
jaxbElement- Корень дерева содержимого, подлежащего маршализации. -
result- XML будет отправлен в этот Result - Исключение:
-
JAXBException- Если возникнет непредвиденная проблема во время маршализации. -
MarshalException- ЕслиValidationEventHandlerвозвращает false из своего методаhandleEventилиMarshallerне может маршализоватьobj(или любой объект, доступный изobj). См. Маршализация элемента JAXB. -
IllegalArgumentException- Если какой-либо из параметров метода равен null
marshal
void marshal(Object jaxbElement,
OutputStream os)
throws JAXBException Маршализует дерево содержимого, укорененное в jaxbElement, в поток вывода.
- Параметры:
-
jaxbElement- Корень дерева содержимого, подлежащего маршализации. -
os- XML будет добавлен в этот поток. - Исключение:
-
JAXBException- Если возникнет непредвиденная проблема во время маршализации. -
MarshalException- ЕслиValidationEventHandlerвозвращает false из своего методаhandleEventилиMarshallerне может маршализоватьobj(или любой объект, доступный изobj). См. Маршализация элемента JAXB. -
IllegalArgumentException- Если какой-либо из параметров метода равен null
marshal
void marshal(Object jaxbElement,
File output)
throws JAXBException Маршализует дерево содержимого, укорененное в jaxbElement, в файл.
- Параметры:
-
jaxbElement- Корень дерева содержимого, подлежащего маршализации. -
output- Файл для записи. Если этот файл уже существует, он будет перезаписан. - Исключение:
-
JAXBException- Если возникнет непредвиденная проблема во время маршализации. -
MarshalException- ЕслиValidationEventHandlerвозвращает false из своего методаhandleEventилиMarshallerне может маршализоватьobj(или любой объект, доступный изobj). См. Маршализация элемента JAXB. -
IllegalArgumentException- Если какой-либо из параметров метода равен null - C момента:
- JAXB2.1
marshal
void marshal(Object jaxbElement,
Writer writer)
throws JAXBException Маршализует дерево содержимого, укорененное в jaxbElement, в Writer.
- Параметры:
-
jaxbElement- Корень дерева содержимого, подлежащего маршализации. -
writer- XML будет отправлен в этот writer. - Исключение:
-
JAXBException- Если возникнет непредвиденная проблема во время маршализации. -
MarshalException- ЕслиValidationEventHandlerвозвращает false из своего методаhandleEventилиMarshallerне может маршализоватьobj(или любой объект, доступный изobj). См. Маршализация элемента JAXB. -
IllegalArgumentException- Если какой-либо из параметров метода равен null
marshal
void marshal(Object jaxbElement,
ContentHandler handler)
throws JAXBException Маршализует дерево содержимого, укорененное в jaxbElement, в события SAX2.
- Параметры:
-
jaxbElement- Корень дерева содержимого, подлежащего маршализации. -
handler- XML будет отправлен в этот обработчик в виде событий SAX2. - Исключение:
-
JAXBException- Если возникнет непредвиденная проблема во время маршализации. -
MarshalException- ЕслиValidationEventHandlerвозвращает false из своего методаhandleEventилиMarshallerне может маршализоватьobj(или любой объект, доступный изobj). См. Маршализация элемента JAXB. -
IllegalArgumentException- Если какой-либо из параметров метода равен null
marshal
void marshal(Object jaxbElement,
Node node)
throws JAXBException Маршализует дерево содержимого, укорененное в jaxbElement, в дерево DOM.
- Параметры:
-
jaxbElement- Дерево содержимого, подлежащее маршализации. -
node- Узлы DOM будут добавлены в качестве потомков этого узла. Этот параметр должен быть узлом, который принимает потомков (Document,DocumentFragmentилиElement) - Исключение:
-
JAXBException- Если возникнет непредвиденная проблема во время маршализации. -
MarshalException- ЕслиValidationEventHandlerвозвращает false из своего методаhandleEventилиMarshallerне может маршализоватьjaxbElement(или любой объект, доступный изjaxbElement). См. Маршализация элемента JAXB. -
IllegalArgumentException- Если какой-либо из параметров метода равен null
marshal
void marshal(Object jaxbElement,
XMLStreamWriter writer)
throws JAXBException Маршализует дерево содержимого, укорененное в jaxbElement, в XMLStreamWriter.
- Параметры:
-
jaxbElement- Дерево содержимого, подлежащее маршализации. -
writer- XML будет отправлен в этот writer. - Исключение:
-
JAXBException- Если возникнет непредвиденная проблема во время маршализации. -
MarshalException- ЕслиValidationEventHandlerвозвращает false из своего методаhandleEventилиMarshallerне может маршализоватьobj(или любой объект, доступный изobj). См. Маршализация элемента JAXB. -
IllegalArgumentException- Если какой-либо из параметров метода равен null - C момента:
- JAXB 2.0
marshal
void marshal(Object jaxbElement,
XMLEventWriter writer)
throws JAXBException Маршализует дерево содержимого, укорененное в jaxbElement, в XMLEventWriter.
- Параметры:
-
jaxbElement- Дерево содержимого, укорененное в jaxbElement, подлежащее маршализации. -
writer- XML будет отправлен в этот writer. - Исключение:
-
JAXBException- Если возникнет непредвиденная проблема во время маршализации. -
MarshalException- ЕслиValidationEventHandlerвозвращает false из своего методаhandleEventилиMarshallerне может маршализоватьobj(или любой объект, доступный изobj). См. Маршализация элемента JAXB. -
IllegalArgumentException- Если какой-либо из параметров метода равен null - C момента:
- JAXB 2.0
getNode
Node getNode(Object contentTree)
throws JAXBException Получить представление дерева DOM дерева содержимого (необязательно). Если возвращаемое дерево DOM обновляется, эти изменения также видны в дереве содержимого. Используйте marshal(Object, org.w3c.dom.Node) для принудительного создания глубокой копии дерева содержимого в представлении DOM.
- Параметры:
-
contentTree- - Представление JAXB Java XML содержимого - Возвращает:
- представление дерева DOM дерева содержимого
- Исключение:
-
UnsupportedOperationException- Если реализация поставщика JAXB не поддерживает представление дерева содержимого в виде DOM -
IllegalArgumentException- Если какой-либо из параметров метода равен null -
JAXBException- Если возникнет непредвиденная проблема
setProperty
void setProperty(String name,
Object value)
throws PropertyException Установить определенное свойство в базовой реализации Marshaller. Этот метод может использоваться только для установки одного из стандартных свойств JAXB или свойства, специфичного для поставщика. Попытка установить неопределенное свойство приведет к выбросу исключения PropertyException. См. Поддерживаемые свойства.
- Параметры:
-
name- имя свойства, которое нужно установить. Это значение может быть задано с помощью одного из постоянных полей или строки, введённой пользователем. -
value- значение свойства, которое нужно установить - Исключения:
-
PropertyException- при возникновении ошибки при обработке заданного свойства или значения -
IllegalArgumentException- если параметр name имеет значение null
getProperty
Object getProperty(String name)
throws PropertyException Получить определённое свойство в базовой реализации Marshaller. Этот метод можно использовать только для получения одного из стандартных свойств, определённых JAXB, или свойства, специфичного для поставщика. Попытка получить неопределённое свойство приведёт к тому, что будет брошено исключение PropertyException. См. Поддерживаемые свойства.
- Параметры:
-
name- имя свойства, которое нужно получить - Возвращает:
- значение запрашиваемого свойства
- Исключения:
-
PropertyException- при возникновении ошибки при получении заданного свойства или значения имени свойства -
IllegalArgumentException- если параметр name имеет значение null
setEventHandler
void setEventHandler(ValidationEventHandler handler)
throws JAXBException Разрешить приложению зарегистрировать обработчик событий валидации.
Обработчик событий валидации будет вызываться поставщиком JAXB, если при вызовах методов API маршализации будут обнаружены ошибки валидации. Если приложение-клиент не зарегистрирует обработчик событий валидации перед вызовом одного из методов маршализации, обработчик событий валидации по умолчанию будет обрабатывать события валидации, которые завершат операцию маршализации после обнаружения первой ошибки или критической ошибки.
Вызов этого метода с параметром null вернёт маршализации к обработчику событий по умолчанию.
- Параметры:
-
handler- обработчик событий валидации - Исключения:
-
JAXBException- если при установке обработчика событий возникла ошибка
getEventHandler
ValidationEventHandler getEventHandler()
throws JAXBException Возвращает текущий обработчик событий или обработчик событий по умолчанию, если он не был установлен.
- Возвращает:
- текущий ValidationEventHandler или обработчик событий по умолчанию, если он не был установлен
- Исключения:
-
JAXBException- если при получении текущего обработчика событий возникла ошибка
setAdapter
void setAdapter(XmlAdapter adapter)
Связывает настроенный экземпляр XmlAdapter с этим маршализующим объектом.
Это вспомогательный метод, который вызывает setAdapter(adapter.getClass(),adapter);.
- Исключения:
-
IllegalArgumentException- если параметр adapter имеет значение null. -
UnsupportedOperationException- если вызов осуществляется в реализации JAXB 1.0. - С:
- JAXB 2.0
- См. также:
setAdapter(Class,XmlAdapter)
setAdapter
<A extends XmlAdapter> void setAdapter(Class<A> type,
A adapter) Связывает настроенный экземпляр XmlAdapter с этим маршализующим объектом.
Каждый маршализующий объект внутренне поддерживает Map<Class,XmlAdapter>, которое используется для маршализации классов, поля/методы которых аннотированы с XmlJavaTypeAdapter.
Этот метод позволяет приложениям использовать настроенный экземпляр XmlAdapter. Если экземпляр адаптера не указан, маршализующий объект создаст его, вызвав конструктор по умолчанию.
- Параметры:
-
type- тип адаптера. Указанный экземпляр будет использован, когдаXmlJavaTypeAdapter.value()ссылается на этот тип. -
adapter- экземпляр адаптера, который будет использоваться. Если null, то текущий адаптер для этого типа будет дерегистрирован. - Исключения:
-
IllegalArgumentException- если параметр type имеет значение null. -
UnsupportedOperationException- если вызов осуществляется в реализации JAXB 1.0. - С:
- JAXB 2.0
getAdapter
<A extends XmlAdapter> A getAdapter(Class<A> type)
Получает адаптер, связанный с указанным типом. Это обратная операция метода setAdapter(javax.xml.bind.annotation.adapters.XmlAdapter).
- Исключения:
-
IllegalArgumentException- если параметр type имеет значение null. -
UnsupportedOperationException- если вызов осуществляется в реализации JAXB 1.0. - С:
- JAXB 2.0
setAttachmentMarshaller
void setAttachmentMarshaller(AttachmentMarshaller am)
Связывает контекст, который позволяет передавать двоичные данные в XML-документе как оптимизированные XML-бинарные вложения. Вложение ссылается на XML-документ с помощью ссылок URI content-id (cid), хранящихся в XML-документе.
- Исключения:
-
IllegalStateException- если попытка вызвать этот метод происходит во время операции маршализации.
getAttachmentMarshaller
AttachmentMarshaller getAttachmentMarshaller()
setSchema
void setSchema(Schema schema)
Указывает объект JAXP 1.3 Schema, который должен использоваться для валидации последующих операций маршализации. Передача null в этот метод отключит валидацию.
Этот метод позволяет вызывающей стороне валидировать XML, который маршализуется.
Изначально это свойство установлено в null.
- Параметры:
-
schema- Объект схемы для валидации операций маршализации или null для отключения валидации - Исключения:
-
UnsupportedOperationException- может быть вызвано, если этот метод вызывается в маршализующем объекте, созданном из JAXBContext, ссылающемся на классы, сопоставленные с JAXB 1.0 - С:
- JAXB2.0
getSchema
Schema getSchema()
Получить объект JAXP 1.3 Schema, используемый для проверки маршализации. Если для маршализующего объекта не установлена схема, то этот метод вернёт null, что указывает на то, что проверка маршализации не будет выполнена.
- Возвращает:
- объект схемы, используемый для проверки маршализации, или null, если он отсутствует.
- Исключения:
-
UnsupportedOperationException- может быть вызвано, если этот метод вызывается в маршализующем объекте, созданном из JAXBContext, ссылающемся на классы, сопоставленные с JAXB 1.0 - С:
- JAXB2.0
setListener
void setListener(Marshaller.Listener listener)
Регистрирует обратный вызов событий маршализации Marshaller.Listener с этим Marshaller.
На один маршализующий объект может быть установлен только один обработчик событий. Установка обработчика событий заменяет предыдущий обработчик событий. Можно деактивировать текущий обработчик событий, задав параметр listener в значение null.
- Параметры:
-
listener- экземпляр класса, реализующегоMarshaller.Listener - С:
- JAXB2.0
getListener
Marshaller.Listener getListener()
Возвращает зарегистрированный Marshaller.Listener с этим Marshaller.
- Возвращает:
- зарегистрированный
Marshaller.Listenerилиnullесли с этим маршализующим объектом не зарегистрирован обработчик событий. - С:
- JAXB2.0
© 1993, 2020, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.