Previous section   Next section
TypeMapping javax.xml.rpc.encoding

JAX-RPC 1.0; JWSDP 1.0, J2EE 1.4
public interface TypeMapping {
// Public Instance Methods
    javax.xml.namespace.QName xmlType); 
    public abstract SerializerFactory getSerializer(Class javaType, 
javax.xml.namespace.QName xmlType);
    public abstract String[ ] getSupportedEncodings(  ); 
    public abstract boolean isRegistered(Class javaType, 
        javax.xml.namespace.QName xmlType);
    public abstract void register(Class javaType, javax.xml.namespace.QName xmlType, 
        SerializerFactory sf, DeserializerFactory dsf); 
    public abstract void removeDeserializer(Class javaType, 
        javax.xml.namespace.QName xmlType);     
    public abstract void removeSerializer(Class javaType, 
        javax.xml.namespace.QName xmlType); 
    public abstract void setSupportedEncodings(String[ ] encodingStyleURIs); 
}

A TypeMapping object contains serializers and deserializers that can convert between Java objects or primitive types and a corresponding XML representation. A single TypeMapping may support one or several encoding styles. The supported encodings may be obtained by calling the getSupportedEncodings( ) method and set using setSupportedEncodings( ), both of which deal with an array of strings that represent encoding scheme URIs (such as http://schemas.xmlsoap.org/soap/encoding/, which represents the SOAP section 5 encoding rules).

The register( ) method is used to associate a SerializerFactory and a DeserializerFactory with a (Java object, XML type) pair that represents the start and endpoints of the conversion process that the serializers and deserializers obtained from those factories can perform. The XML type is specified using constants defined by the javax.xml.rpc.encoding.XMLType class, whereas the Java type is represented by its Class object. Although it is most likely that both a SerializerFactory and a DeserializerFactory will be registered together, it is possible to register only one of the pair by specifying the argument for the other as null. The removeSerializer( ) method removes the SerializerFactory mapping for a specified Java type to XML type mapping, and throws a JAXRPCException if there is no mapping for the given combination. The removeDeserializer( ) similarly removes a DeserializerFactory.

The getSerializer( ) and getDeserializer( ) methods return a SerializerFactory or DeserializerFactory for a given (Java type, XML type) pair, or returns null if none is registered. You can determine whether either a SerializerFactory or DeserializerFactory is registered for a given pairing using the isRegistered( ) method. This method does not, however, tell you which of these objects is registered if only one of them is.

Passed To

TypeMappingRegistry.{register( ), registerDefault( ), removeTypeMapping( )}

Returned By

TypeMappingRegistry.{createTypeMapping( ), getDefaultTypeMapping( ), getTypeMapping( ), register( ), unregisterTypeMapping( )}


  Previous section   Next section