|
|||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||||
java.lang.Objectorg.apache.axis.encoding.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's
public 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 registration
protected 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 specified
public 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 SerializerFactory
public 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 | ||||||||||