|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--org.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 | |
class |
TypeMappingImpl.Pair
|
Field Summary | |
protected TypeMapping |
delegate
|
protected static org.apache.commons.logging.Log |
log
|
Constructor Summary | |
TypeMappingImpl(TypeMapping delegate)
Construct TypeMapping |
Method Summary | |
java.lang.Class[] |
getAllClasses()
Returns an array of all the classes contained within this mapping |
java.lang.Class |
getClassForQName(QName xmlType)
Gets the Class mapped to QName. |
TypeMapping |
getDelegate()
getDelegate gets the new Delegate TypeMapping |
DeserializerFactory |
getDeserializer(java.lang.Class javaType,
QName xmlType)
Gets the DeserializerFactory registered for the specified pair of Java type and XML data type. |
DeserializerFactory |
getDeserializer(QName xmlType)
Gets the DeserializerFactory registered for the xmlType. |
SerializerFactory |
getSerializer(java.lang.Class javaType)
Gets the SerializerFactory registered for the Java 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)
Gets the QName for the type mapped to Class. |
QName |
getTypeQNameRecursive(java.lang.Class javaType)
Gets the QName for the type mapped to Class. |
QName |
getXMLType(java.lang.Class javaType,
QName xmlType)
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 |
setDelegate(TypeMapping delegate)
setDelegate sets the new Delegate TypeMapping |
void |
setDoAutoTypes(boolean doAutoTypes)
|
void |
setSupportedEncodings(java.lang.String[] namespaceURIs)
Sets the list of encoding styles supported by this TypeMapping object. |
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
protected TypeMapping delegate
Constructor Detail |
public TypeMappingImpl(TypeMapping delegate)
Method Detail |
public void setDelegate(TypeMapping delegate)
setDelegate
in interface TypeMapping
public TypeMapping getDelegate()
getDelegate
in interface TypeMapping
public java.lang.String[] getSupportedEncodings()
getSupportedEncodings
in interface TypeMapping
public void setSupportedEncodings(java.lang.String[] namespaceURIs)
setSupportedEncodings
in interface TypeMapping
namespaceURIs
- String[] of namespace URI'spublic boolean isRegistered(java.lang.Class javaType, QName xmlType)
isRegistered
in interface TypeMapping
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
register
in interface TypeMapping
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
getSerializer
in interface TypeMapping
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 QName getXMLType(java.lang.Class javaType, QName xmlType) throws JAXRPCException
javaType
- xmlType
-
JAXRPCException
public DeserializerFactory getDeserializer(java.lang.Class javaType, QName xmlType) throws JAXRPCException
getDeserializer
in interface TypeMapping
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 void removeSerializer(java.lang.Class javaType, QName xmlType) throws JAXRPCException
removeSerializer
in interface TypeMapping
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
removeDeserializer
in interface TypeMapping
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 getTypeQName(java.lang.Class javaType)
TypeMapping
getTypeQName
in interface TypeMapping
javaType
- class or type
public java.lang.Class getClassForQName(QName xmlType)
getClassForQName
in interface TypeMapping
xmlType
- qname or null
public SerializerFactory getSerializer(java.lang.Class javaType) throws JAXRPCException
getSerializer
in interface TypeMapping
javaType
- - Class of the Java 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 DeserializerFactory getDeserializer(QName xmlType) throws JAXRPCException
getDeserializer
in interface TypeMapping
xmlType
- - 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 void setDoAutoTypes(boolean doAutoTypes)
public java.lang.Class[] getAllClasses()
getAllClasses
in interface TypeMapping
|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |