org.apache.axis.encoding
Class DefaultTypeMappingImpl

java.lang.Object
  |
  +--org.apache.axis.encoding.TypeMappingImpl
        |
        +--org.apache.axis.encoding.DefaultTypeMappingImpl
All Implemented Interfaces:
TypeMapping, TypeMapping
Direct Known Subclasses:
DefaultSOAPEncodingTypeMappingImpl

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)

Nested Class Summary
 
Nested classes inherited from class org.apache.axis.encoding.TypeMappingImpl
TypeMappingImpl.Pair
 
Field Summary
 
Fields inherited from class org.apache.axis.encoding.TypeMappingImpl
delegate, log
 
Constructor Summary
protected DefaultTypeMappingImpl()
           
protected DefaultTypeMappingImpl(boolean encoded)
           
 
Method Summary
static TypeMapping getSingleton()
          Obtain the singleton default typemapping.
protected  void myRegister(QName xmlType, java.lang.Class javaType, SerializerFactory sf, DeserializerFactory df)
          Construct TypeMapping for all the [xmlType, javaType] for all of the known xmlType namespaces.
protected  void myRegisterSimple(QName xmlType, java.lang.Class javaType)
          Register a "simple" type mapping - in other words, a
 void register(java.lang.Class javaType, QName xmlType, SerializerFactory sf, DeserializerFactory dsf)
          Registers SerializerFactory and DeserializerFactory for a specific type mapping between an XML type and Java type.
 void removeDeserializer(java.lang.Class javaType, QName xmlType)
          Removes the DeserializerFactory registered for the specified pair of Java type and XML data type.
 void removeSerializer(java.lang.Class javaType, QName xmlType)
          Removes the SerializerFactory registered for the specified pair of Java type and XML data type.
 void setSupportedEncodings(java.lang.String[] namespaceURIs)
          Sets the list of encoding styles supported by this TypeMapping object.
 
Methods inherited from class org.apache.axis.encoding.TypeMappingImpl
getAllClasses, getClassForQName, getDelegate, getDeserializer, getDeserializer, getSerializer, getSerializer, getSupportedEncodings, getTypeQName, getTypeQNameRecursive, getXMLType, internalRegister, isRegistered, setDelegate, setDoAutoTypes
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

DefaultTypeMappingImpl

protected DefaultTypeMappingImpl()

DefaultTypeMappingImpl

protected DefaultTypeMappingImpl(boolean encoded)
Method Detail

getSingleton

public static TypeMapping getSingleton()
Obtain the singleton default typemapping.


myRegisterSimple

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

Parameters:
xmlType -
javaType -

myRegister

protected void myRegister(QName xmlType,
                          java.lang.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)

register

public void register(java.lang.Class javaType,
                     QName xmlType,
                     SerializerFactory sf,
                     DeserializerFactory dsf)
              throws JAXRPCException
Description copied from class: TypeMappingImpl
Registers SerializerFactory and DeserializerFactory for a specific type mapping between an XML type and Java type.

Specified by:
register in interface TypeMapping
Overrides:
register in class TypeMappingImpl
Parameters:
javaType - - Class of the Java type
xmlType - - Qualified name of the XML data type
sf - - SerializerFactory
dsf - - DeserializerFactory
Throws:
JAXRPCException - - If any error during the registration

removeSerializer

public void removeSerializer(java.lang.Class javaType,
                             QName xmlType)
                      throws JAXRPCException
Description copied from class: TypeMappingImpl
Removes the SerializerFactory registered for the specified pair of Java type and XML data type.

Specified by:
removeSerializer in interface TypeMapping
Overrides:
removeSerializer in class TypeMappingImpl
Parameters:
javaType - - Class of the Java type
xmlType - - Qualified name of the XML data type
Throws:
JAXRPCException - - If there is error in removing the registered SerializerFactory

removeDeserializer

public void removeDeserializer(java.lang.Class javaType,
                               QName xmlType)
                        throws JAXRPCException
Description copied from class: TypeMappingImpl
Removes the DeserializerFactory registered for the specified pair of Java type and XML data type.

Specified by:
removeDeserializer in interface TypeMapping
Overrides:
removeDeserializer in class TypeMappingImpl
Parameters:
javaType - - Class of the Java type
xmlType - - Qualified name of the XML data type
Throws:
JAXRPCException - - If there is error in removing the registered DeserializerFactory

setSupportedEncodings

public void setSupportedEncodings(java.lang.String[] namespaceURIs)
Description copied from class: TypeMappingImpl
Sets the list of encoding styles supported by this TypeMapping object. (Not sure why this is useful...this information is automatically updated during registration.

Specified by:
setSupportedEncodings in interface TypeMapping
Overrides:
setSupportedEncodings in class TypeMappingImpl
Parameters:
namespaceURIs - String[] of namespace URI's


Copyright © 2003 Apache Web Services Project. All Rights Reserved.