|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES All Classes | ||||||||||
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 | |
class |
TypeMappingImpl.Pair
|
Field Summary | |
protected TypeMapping |
delegate
|
Constructor Summary | |
TypeMappingImpl(TypeMapping delegate)
Construct TypeMapping |
Method Summary | |
Class[] |
getAllClasses()
Returns an array of all the classes contained within this mapping |
Class |
getClassForQName(javax.xml.namespace.QName xmlType)
Gets the Class mapped to QName. |
TypeMapping |
getDelegate()
getDelegate gets the new Delegate TypeMapping |
javax.xml.rpc.encoding.DeserializerFactory |
getDeserializer(Class javaType,
javax.xml.namespace.QName xmlType)
Gets the DeserializerFactory registered for the specified pair of Java type and XML data type. |
javax.xml.rpc.encoding.DeserializerFactory |
getDeserializer(javax.xml.namespace.QName xmlType)
Gets the DeserializerFactory registered for the xmlType. |
javax.xml.rpc.encoding.SerializerFactory |
getSerializer(Class javaType)
Gets the SerializerFactory registered for the Java type. |
javax.xml.rpc.encoding.SerializerFactory |
getSerializer(Class javaType,
javax.xml.namespace.QName xmlType)
Gets the SerializerFactory registered for the specified pair of Java type and XML data type. |
String[] |
getSupportedEncodings()
Gets the list of encoding styles supported by this TypeMapping object. |
javax.xml.namespace.QName |
getTypeQName(Class javaType)
Gets the QName for the type mapped to Class. |
javax.xml.namespace.QName |
getTypeQNameRecursive(Class javaType)
Gets the QName for the type mapped to Class. |
javax.xml.namespace.QName |
getXMLType(Class javaType,
javax.xml.namespace.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(Class javaType,
javax.xml.namespace.QName xmlType,
javax.xml.rpc.encoding.SerializerFactory sf,
javax.xml.rpc.encoding.DeserializerFactory dsf)
Internal version of register(), which allows null factories. |
boolean |
isRegistered(Class javaType,
javax.xml.namespace.QName xmlType)
isRegistered returns true if the [javaType, xmlType] pair is registered. |
void |
register(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(Class javaType,
javax.xml.namespace.QName xmlType)
Removes the DeserializerFactory registered for the specified pair of Java type and XML data type. |
void |
removeSerializer(Class javaType,
javax.xml.namespace.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(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 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 String[] getSupportedEncodings()
getSupportedEncodings
in interface javax.xml.rpc.encoding.TypeMapping
public void setSupportedEncodings(String[] namespaceURIs)
setSupportedEncodings
in interface javax.xml.rpc.encoding.TypeMapping
namespaceURIs
- String[] of namespace URI'spublic boolean isRegistered(Class javaType, javax.xml.namespace.QName xmlType)
isRegistered
in interface javax.xml.rpc.encoding.TypeMapping
javaType
- - Class of the Java typexmlType
- - Qualified name of the XML data type
For example if called with (java.lang.String[], soapenc:Array) this routine will return false because this pair is probably not specifically registered. However if getSerializer is called with the same pair, the default TypeMapping will use extra logic to find a serializer (i.e. array serializer)
public void register(Class javaType, javax.xml.namespace.QName xmlType, javax.xml.rpc.encoding.SerializerFactory sf, javax.xml.rpc.encoding.DeserializerFactory dsf) throws javax.xml.rpc.JAXRPCException
register
in interface javax.xml.rpc.encoding.TypeMapping
javaType
- - Class of the Java typexmlType
- - Qualified name of the XML data typesf
- - SerializerFactorydsf
- - DeserializerFactory
javax.xml.rpc.JAXRPCException
- - If any error during the registrationprotected void internalRegister(Class javaType, javax.xml.namespace.QName xmlType, javax.xml.rpc.encoding.SerializerFactory sf, javax.xml.rpc.encoding.DeserializerFactory dsf) throws javax.xml.rpc.JAXRPCException
javaType
- xmlType
- sf
- dsf
-
javax.xml.rpc.JAXRPCException
public javax.xml.rpc.encoding.SerializerFactory getSerializer(Class javaType, javax.xml.namespace.QName xmlType) throws javax.xml.rpc.JAXRPCException
getSerializer
in interface javax.xml.rpc.encoding.TypeMapping
javaType
- - Class of the Java typexmlType
- - Qualified name of the XML data type
javax.xml.rpc.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 javax.xml.namespace.QName getXMLType(Class javaType, javax.xml.namespace.QName xmlType) throws javax.xml.rpc.JAXRPCException
Class TypeQName ---------------------- Base myNS:Base Child myNS:Child
and call getXMLType(Child.class, BASE_QNAME), we should get CHILD_QNAME.
javaType
- xmlType
-
javax.xml.rpc.JAXRPCException
public javax.xml.rpc.encoding.DeserializerFactory getDeserializer(Class javaType, javax.xml.namespace.QName xmlType) throws javax.xml.rpc.JAXRPCException
getDeserializer
in interface javax.xml.rpc.encoding.TypeMapping
javaType
- - Class of the Java typexmlType
- - Qualified name of the XML data type
javax.xml.rpc.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(Class javaType, javax.xml.namespace.QName xmlType) throws javax.xml.rpc.JAXRPCException
removeSerializer
in interface javax.xml.rpc.encoding.TypeMapping
javaType
- - Class of the Java typexmlType
- - Qualified name of the XML data type
javax.xml.rpc.JAXRPCException
- - If there is error in
removing the registered SerializerFactorypublic void removeDeserializer(Class javaType, javax.xml.namespace.QName xmlType) throws javax.xml.rpc.JAXRPCException
removeDeserializer
in interface javax.xml.rpc.encoding.TypeMapping
javaType
- - Class of the Java typexmlType
- - Qualified name of the XML data type
javax.xml.rpc.JAXRPCException
- - If there is error in
removing the registered DeserializerFactorypublic javax.xml.namespace.QName getTypeQNameRecursive(Class javaType)
javaType
- class or type
public javax.xml.namespace.QName getTypeQName(Class javaType)
TypeMapping
getTypeQName
in interface TypeMapping
javaType
- class or type
public Class getClassForQName(javax.xml.namespace.QName xmlType)
getClassForQName
in interface TypeMapping
xmlType
- qname or null
public javax.xml.rpc.encoding.SerializerFactory getSerializer(Class javaType) throws javax.xml.rpc.JAXRPCException
getSerializer
in interface TypeMapping
javaType
- - Class of the Java type
javax.xml.rpc.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 javax.xml.rpc.encoding.DeserializerFactory getDeserializer(javax.xml.namespace.QName xmlType) throws javax.xml.rpc.JAXRPCException
getDeserializer
in interface TypeMapping
xmlType
- - Qualified name of the XML data type
javax.xml.rpc.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 Class[] getAllClasses()
getAllClasses
in interface TypeMapping
|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES All Classes | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |