java.lang.Object
org.apache.axis.encoding.TypeMappingImpl
org.apache.axis.encoding.DefaultTypeMappingImpl
- All Implemented Interfaces:
- java.io.Serializable
- Direct Known Subclasses:
- DefaultJAXRPC11TypeMappingImpl, 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.
|
Method Summary |
static TypeMappingDelegate |
getSingletonDelegate()
Obtain the singleton default typemapping. |
protected void |
initMappings()
|
protected void |
myRegister(javax.xml.namespace.QName xmlType,
java.lang.Class javaType,
SerializerFactory sf,
javax.xml.rpc.encoding.DeserializerFactory df)
Construct TypeMapping for all the [xmlType, javaType] for all of the
known xmlType namespaces. |
protected void |
myRegisterSimple(javax.xml.namespace.QName xmlType,
java.lang.Class javaType)
Register a "simple" type mapping - in other words, a |
void |
register(java.lang.Class javaType,
javax.xml.namespace.QName xmlType,
javax.xml.rpc.encoding.SerializerFactory sf,
javax.xml.rpc.encoding.DeserializerFactory dsf)
Registers SerializerFactory and DeserializerFactory for a
specific type mapping between an XML type and Java type. |
void |
removeDeserializer(java.lang.Class javaType,
javax.xml.namespace.QName xmlType)
Removes the DeserializerFactory registered for the specified
pair of Java type and XML data type. |
void |
removeSerializer(java.lang.Class javaType,
javax.xml.namespace.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 |
finalGetDeserializer, finalGetSerializer, getAllClasses, getClassForQName, getDeserializer, getSerializer, getSupportedEncodings, getTypeQName, getTypeQNameExact, getTypeQNameRecursive, getXMLType, internalRegister, isRegistered, setDoAutoTypes, shouldDoAutoTypes |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
tm
private static DefaultTypeMappingImpl tm
inInitMappings
private boolean inInitMappings
DefaultTypeMappingImpl
protected DefaultTypeMappingImpl()
DefaultTypeMappingImpl
protected DefaultTypeMappingImpl(boolean noMappings)
getSingletonDelegate
public static TypeMappingDelegate getSingletonDelegate()
- Obtain the singleton default typemapping.
initMappings
protected void initMappings()
myRegisterSimple
protected void myRegisterSimple(javax.xml.namespace.QName xmlType,
java.lang.Class javaType)
- Register a "simple" type mapping - in other words, a
myRegister
protected void myRegister(javax.xml.namespace.QName xmlType,
java.lang.Class javaType,
SerializerFactory sf,
javax.xml.rpc.encoding.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().
register
public void register(java.lang.Class javaType,
javax.xml.namespace.QName xmlType,
javax.xml.rpc.encoding.SerializerFactory sf,
javax.xml.rpc.encoding.DeserializerFactory dsf)
throws javax.xml.rpc.JAXRPCException
- Description copied from class:
TypeMappingImpl
- Registers SerializerFactory and DeserializerFactory for a
specific type mapping between an XML type and Java type.
- Overrides:
register in class TypeMappingImpl
removeSerializer
public void removeSerializer(java.lang.Class javaType,
javax.xml.namespace.QName xmlType)
throws javax.xml.rpc.JAXRPCException
- Description copied from class:
TypeMappingImpl
- Removes the SerializerFactory registered for the specified
pair of Java type and XML data type.
- Overrides:
removeSerializer in class TypeMappingImpl
removeDeserializer
public void removeDeserializer(java.lang.Class javaType,
javax.xml.namespace.QName xmlType)
throws javax.xml.rpc.JAXRPCException
- Description copied from class:
TypeMappingImpl
- Removes the DeserializerFactory registered for the specified
pair of Java type and XML data type.
- Overrides:
removeDeserializer in class TypeMappingImpl
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.
- Overrides:
setSupportedEncodings in class TypeMappingImpl