T.M. SoftStudio

feci quod potui, faciant meliora potentes

JAX-RPC API

Пакет javax.xml.rpc.encoding

Пакет javax.xml.rpc.encoding обеспечивает связывание Java-типов с XML-типами для JAX-RPC-реализации. Пакет javax.xml.rpc.encoding содержит класс XMLType и интерфейсы DeserializationContext, Deserializer, DeserializerFactory, SerializationContext, Serializer, SerializerFactory, TypeMapping и TypeMappingRegistry.

Интерфейс DeserializationContext реализуется средой выполнения JAX-RPC для создания контекста десериализации.

Интерфейс Deserializer реализуется классами-десериализаторами, конвертирующими XML-представления в Java-объекты. Интерфейс Deserializer имеет метод java.lang.String getMechanismType(), возвращающий идентификатор типа XML-обработки конвертируемых XML-данных, например, http://java.sun.com/jax-rpc-ri/1.0/streaming/.

Объекты Deserializer создаются с помощью интерфейса DeserializerFactory, имеющего методы Deserializer getDeserializerAs(java.lang.String mechanismType) и java.util.Iterator getSupportedMechanismTypes().

Интерфейс SerializationContext реализуется средой выполнения JAX-RPC для создания контекста сериализации.

Интерфейс Serializer реализуется классами-сериализаторами, конвертирующими Java-объекты в XML-представление. Интерфейс Serializer имеет метод java.lang.String getMechanismType(), возвращающий идентификатор типа результирующих XML-данных, которые могут быть, например, SAX-потоком или DOM-деревом.

Объекты Serializer создаются с помощью интерфейса SerializerFactory, имеющего методы Serializer getSerializerAs(java.lang.String mechanismType) и java.util.Iterator getSupportedMechanismTypes().

Объекты DeserializerFactory и SerializerFactory содержатся в объекте TypeMapping в виде наборов {Java-тип, SerializerFactory, DeserializerFactory, XML-тип}.

Интерфейс TypeMapping имеет перечисленные далее методы:

  • java.lang.String[] getSupportedEncodings()

void setSupportedEncodings(java.lang.String[] encodingStyleURIs)

возвращает и устанавливает поддерживаемые стили кодировки.

  • boolean isRegistered(java.lang.Class javaType,
    javax.xml.namespace.QName xmlType)

Возвращает true, если связь между Java-типом и XML-типом зарегистрирована.

  • void register(java.lang.Class javaType,
    javax.xml.namespace.QName xmlType, SerializerFactory sf,
    DeserializerFactory dsf)

Регистрирует связь между Java-типом и XML-типом с указанными фабриками для сериализаторов и десериализаторов.

  • SerializerFactory getSerializer(java.lang.Class javaType,
    javax.xml.namespace.QName xmlType)

DeserializerFactory getDeserializer(java.lang.Class javaType,
javax.xml.namespace.QName xmlType)

Первый метод возвращает фабрику сериализатора для определенной связи, второй метод — фабрику десериализатора.

  • void removeSerializer(java.lang.Class javaType,
    javax.xml.namespace.QName xmlType)

void removeDeserializer(java.lang.Class javaType,
javax.xml.namespace.QName xmlType)

Первый метод удаляет фабрику сериализатора для определенной связи, второй метод — фабрику десериализатора.

Объекты TypeMapping содержатся в реестре TypeMappingRegistry, получаемом методом getTypeMappingRegistry() интерфейса Service.

Интерфейс TypeMappingRegistry имеет следующие методы для управления реестром связей:

  • TypeMapping register(java.lang.String encodingStyleURI,
    TypeMapping mapping)

Регистрирует объект TypeMapping с определенным стилем кодировки.

  • void registerDefault(TypeMapping mapping)

TypeMapping getDefaultTypeMapping()

Первый метод регистрирует, второй метод возвращает объект TypeMapping для всех кодировок по умолчанию.

  • java.lang.String[] getRegisteredEncodingStyleURIs()

Возвращает список зарегистрированных стилей кодировок.

  • TypeMapping getTypeMapping(java.lang.String encodingStyleURI)

Возвращает зарегистрированный объект TypeMapping для определенной кодировки.

  • TypeMapping createTypeMapping()

Создает новый пустой объект TypeMapping.

  • TypeMapping unregisterTypeMapping(java.lang.String encodingStyleURI)

Аннулирует регистрацию объекта TypeMapping для определенного стиля кодировки.

  • boolean removeTypeMapping(TypeMapping mapping)

Удаляет объект TypeMapping из реестра.

  • void clear()

Очищает реестр.

Класс XMLType определяет константы, представляющие XML- и SOAP-типы данных.