org.apache.axis.encoding

Class DefaultTypeMappingImpl

public class DefaultTypeMappingImpl extends TypeMappingImpl

This is the implementation of the axis Default TypeMapping (which extends the JAX-RPC TypeMapping interface) for SOAP 1.1. A TypeMapping contains tuples as follows: {Java type, SerializerFactory, DeserializerFactory, Type QName) In other words, it serves to map Java types to and from XML types using particular Serializers/Deserializers. Each TypeMapping is associated with one or more encodingStyle URIs. The wsdl in your web service will use a number of types. The tuple information for each of these will be accessed via the TypeMapping. This TypeMapping is the "default" one, which includes all the standard SOAP and schema XSD types. Individual TypeMappings (associated with AxisEngines and SOAPServices) will delegate to this one, so if you haven't overriden a default mapping we'll end up getting it from here.

Author: Rich Scheuerle (scheu@us.ibm.com)

Constructor Summary
protected DefaultTypeMappingImpl()
protected DefaultTypeMappingImpl(boolean noMappings)
Method Summary
static TypeMappingDelegategetSingletonDelegate()
Obtain the singleton default typemapping.
protected voidinitMappings()
protected voidmyRegister(QName xmlType, Class javaType, SerializerFactory sf, DeserializerFactory df)
Construct TypeMapping for all the [xmlType, javaType] for all of the known xmlType namespaces.
protected voidmyRegisterSimple(QName xmlType, Class javaType)
Register a "simple" type mapping - in other words, a
voidregister(Class javaType, QName xmlType, SerializerFactory sf, DeserializerFactory dsf)
voidremoveDeserializer(Class javaType, QName xmlType)
voidremoveSerializer(Class javaType, QName xmlType)
voidsetSupportedEncodings(String[] namespaceURIs)

Constructor Detail

DefaultTypeMappingImpl

protected DefaultTypeMappingImpl()

DefaultTypeMappingImpl

protected DefaultTypeMappingImpl(boolean noMappings)

Method Detail

getSingletonDelegate

public static TypeMappingDelegate getSingletonDelegate()
Obtain the singleton default typemapping.

initMappings

protected void initMappings()

myRegister

protected void myRegister(QName xmlType, Class javaType, SerializerFactory sf, DeserializerFactory df)
Construct TypeMapping for all the [xmlType, javaType] for all of the known xmlType namespaces. This is the shotgun approach, which works in 99% of the cases. The other cases that are Schema version specific (i.e. timeInstant vs. dateTime) are handled by the SchemaVersion Interface registerSchemaSpecificTypes().

Parameters: xmlType is the QName type javaType is the java type sf is the ser factory (if null, the simple factory is used) df is the deser factory (if null, the simple factory is used)

myRegisterSimple

protected void myRegisterSimple(QName xmlType, Class javaType)
Register a "simple" type mapping - in other words, a

Parameters: xmlType javaType

register

public void register(Class javaType, QName xmlType, SerializerFactory sf, DeserializerFactory dsf)

removeDeserializer

public void removeDeserializer(Class javaType, QName xmlType)

removeSerializer

public void removeSerializer(Class javaType, QName xmlType)

setSupportedEncodings

public void setSupportedEncodings(String[] namespaceURIs)
Copyright B) 2005 Apache Web Services Project. All Rights Reserved.