|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.apache.axis.encoding.TypeMappingImpl
public class TypeMappingImpl
This is the implementation of the axis TypeMapping interface (which extends the JAX-RPC TypeMapping interface).
A TypeMapping is obtained from the singleton TypeMappingRegistry using the namespace of the webservice. The TypeMapping contains the tuples {Java type, SerializerFactory, DeserializerFactory, Type QName)
So if you have a Web Service with the namespace "XYZ", you call the TypeMappingRegistry.getTypeMapping("XYZ").
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.
Because every web service uses the soap, schema, wsdl primitives, we could pre-populate the TypeMapping with these standard tuples. Instead, if the namespace/class matches is not found in the TypeMapping the request is delegated to the Default TypeMapping or another TypeMapping
Nested Class Summary | |
---|---|
static class |
TypeMappingImpl.Pair
|
Field Summary | |
---|---|
protected java.lang.Boolean |
doAutoTypes
|
static boolean |
dotnet_soapenc_bugfix
Work around a .NET bug with soap encoded types. |
protected static org.apache.commons.logging.Log |
log
|
Constructor Summary | |
---|---|
TypeMappingImpl()
Construct TypeMapping |
Method Summary | |
---|---|
DeserializerFactory |
finalGetDeserializer(java.lang.Class javaType,
QName xmlType,
TypeMappingDelegate start)
|
SerializerFactory |
finalGetSerializer(java.lang.Class javaType)
|
java.lang.Class[] |
getAllClasses(TypeMappingDelegate next)
Returns an array of all the classes contained within this mapping |
java.lang.Class |
getClassForQName(QName xmlType,
java.lang.Class javaType,
TypeMappingDelegate next)
|
DeserializerFactory |
getDeserializer(java.lang.Class javaType,
QName xmlType,
TypeMappingDelegate start)
Gets the DeserializerFactory registered for the specified pair of Java type and XML data type. |
SerializerFactory |
getSerializer(java.lang.Class javaType,
QName xmlType)
Gets the SerializerFactory registered for the specified pair of Java type and XML data type. |
java.lang.String[] |
getSupportedEncodings()
Gets the list of encoding styles supported by this TypeMapping object. |
QName |
getTypeQName(java.lang.Class javaType,
TypeMappingDelegate next)
|
QName |
getTypeQNameExact(java.lang.Class javaType,
TypeMappingDelegate next)
Get the QName for this Java class, but only return a specific mapping if there is one. |
QName |
getTypeQNameRecursive(java.lang.Class javaType)
Gets the QName for the type mapped to Class. |
QName |
getXMLType(java.lang.Class javaType,
QName xmlType,
boolean encoded)
Get the exact XML type QName which will be used when serializing a given Class to a given type QName. |
protected void |
internalRegister(java.lang.Class javaType,
QName xmlType,
SerializerFactory sf,
DeserializerFactory dsf)
Internal version of register(), which allows null factories. |
boolean |
isRegistered(java.lang.Class javaType,
QName xmlType)
isRegistered returns true if the [javaType, xmlType] pair is registered. |
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 |
setDoAutoTypes(boolean doAutoTypes)
|
void |
setSupportedEncodings(java.lang.String[] namespaceURIs)
Sets the list of encoding styles supported by this TypeMapping object. |
boolean |
shouldDoAutoTypes()
|
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
protected static org.apache.commons.logging.Log log
public static boolean dotnet_soapenc_bugfix
protected java.lang.Boolean doAutoTypes
Constructor Detail |
---|
public TypeMappingImpl()
Method Detail |
---|
public java.lang.String[] getSupportedEncodings()
public void setSupportedEncodings(java.lang.String[] namespaceURIs)
namespaceURIs
- String[] of namespace URI'spublic boolean isRegistered(java.lang.Class javaType, QName xmlType)
javaType
- - Class of the Java typexmlType
- - Qualified name of the XML data type
public void register(java.lang.Class javaType, QName xmlType, SerializerFactory sf, DeserializerFactory dsf) throws JAXRPCException
javaType
- - Class of the Java typexmlType
- - Qualified name of the XML data typesf
- - SerializerFactorydsf
- - DeserializerFactory
JAXRPCException
- - If any error during the registrationprotected void internalRegister(java.lang.Class javaType, QName xmlType, SerializerFactory sf, DeserializerFactory dsf) throws JAXRPCException
javaType
- xmlType
- sf
- dsf
-
JAXRPCException
public SerializerFactory getSerializer(java.lang.Class javaType, QName xmlType) throws JAXRPCException
javaType
- - Class of the Java typexmlType
- - Qualified name of the XML data type
JAXRPCException
- - If there is no registered SerializerFactory
for this pair of Java type and XML data type
java.lang.IllegalArgumentException -
If invalid or unsupported XML/Java type is specifiedpublic SerializerFactory finalGetSerializer(java.lang.Class javaType)
public QName getXMLType(java.lang.Class javaType, QName xmlType, boolean encoded) throws JAXRPCException
javaType
- xmlType
-
JAXRPCException
public DeserializerFactory getDeserializer(java.lang.Class javaType, QName xmlType, TypeMappingDelegate start) throws JAXRPCException
javaType
- - Class of the Java typexmlType
- - Qualified name of the XML data type
JAXRPCException
- - If there is no registered DeserializerFactory
for this pair of Java type and XML data type
java.lang.IllegalArgumentException -
If invalid or unsupported XML/Java type is specifiedpublic DeserializerFactory finalGetDeserializer(java.lang.Class javaType, QName xmlType, TypeMappingDelegate start)
public void removeSerializer(java.lang.Class javaType, QName xmlType) throws JAXRPCException
javaType
- - Class of the Java typexmlType
- - Qualified name of the XML data type
JAXRPCException
- - If there is error in
removing the registered SerializerFactorypublic void removeDeserializer(java.lang.Class javaType, QName xmlType) throws JAXRPCException
javaType
- - Class of the Java typexmlType
- - Qualified name of the XML data type
JAXRPCException
- - If there is error in
removing the registered DeserializerFactorypublic QName getTypeQNameRecursive(java.lang.Class javaType)
javaType
- class or type
public QName getTypeQNameExact(java.lang.Class javaType, TypeMappingDelegate next)
javaType
-
public QName getTypeQName(java.lang.Class javaType, TypeMappingDelegate next)
public java.lang.Class getClassForQName(QName xmlType, java.lang.Class javaType, TypeMappingDelegate next)
public void setDoAutoTypes(boolean doAutoTypes)
public boolean shouldDoAutoTypes()
public java.lang.Class[] getAllClasses(TypeMappingDelegate next)
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |