Package org.apache.axis.encoding
Class DefaultTypeMappingImpl
java.lang.Object
org.apache.axis.encoding.TypeMappingImpl
org.apache.axis.encoding.DefaultTypeMappingImpl
- All Implemented Interfaces:
Serializable
- Direct Known Subclasses:
DefaultJAXRPC11TypeMappingImpl
,DefaultSOAPEncodingTypeMappingImpl
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)
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class org.apache.axis.encoding.TypeMappingImpl
TypeMappingImpl.Pair
-
Field Summary
Fields inherited from class org.apache.axis.encoding.TypeMappingImpl
doAutoTypes, dotnet_soapenc_bugfix, log
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic TypeMappingDelegate
Obtain the singleton default typemapping.protected void
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.protected void
myRegisterSimple
(QName xmlType, Class javaType) Register a "simple" type mapping - in other words, avoid
register
(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
(Class javaType, QName xmlType) Removes the DeserializerFactory registered for the specified pair of Java type and XML data type.void
removeSerializer
(Class javaType, QName xmlType) Removes the SerializerFactory registered for the specified pair of Java type and XML data type.void
setSupportedEncodings
(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
-
Constructor Details
-
DefaultTypeMappingImpl
protected DefaultTypeMappingImpl() -
DefaultTypeMappingImpl
protected DefaultTypeMappingImpl(boolean noMappings)
-
-
Method Details
-
getSingletonDelegate
Obtain the singleton default typemapping. -
initMappings
protected void initMappings() -
myRegisterSimple
Register a "simple" type mapping - in other words, a- Parameters:
xmlType
-javaType
-
-
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 typejavaType
- is the java typesf
- 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(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.- Overrides:
register
in classTypeMappingImpl
- Parameters:
javaType
- - Class of the Java typexmlType
- - Qualified name of the XML data typesf
- - SerializerFactorydsf
- - DeserializerFactory- Throws:
JAXRPCException
- - If any error during the registration
-
removeSerializer
Description copied from class:TypeMappingImpl
Removes the SerializerFactory registered for the specified pair of Java type and XML data type.- Overrides:
removeSerializer
in classTypeMappingImpl
- Parameters:
javaType
- - Class of the Java typexmlType
- - Qualified name of the XML data type- Throws:
JAXRPCException
- - If there is error in removing the registered SerializerFactory
-
removeDeserializer
Description copied from class:TypeMappingImpl
Removes the DeserializerFactory registered for the specified pair of Java type and XML data type.- Overrides:
removeDeserializer
in classTypeMappingImpl
- Parameters:
javaType
- - Class of the Java typexmlType
- - Qualified name of the XML data type- Throws:
JAXRPCException
- - If there is error in removing the registered DeserializerFactory
-
setSupportedEncodings
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 classTypeMappingImpl
- Parameters:
namespaceURIs
- String[] of namespace URI's
-