org.apache.axis.encoding
Class TypeMappingDelegate

java.lang.Object
  extended by org.apache.axis.encoding.TypeMappingDelegate
All Implemented Interfaces:
java.io.Serializable, TypeMapping

public class TypeMappingDelegate
extends java.lang.Object
implements TypeMapping

The TypeMapping delegate is used to simply delegate to the indicated type mapping. It is used by the TypeMappingRegistry to assist with chaining.

Author:
Rich Scheuerle (scheu@us.ibm.com)
See Also:
Serialized Form

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.
 java.lang.Class getClassForQName(QName xmlType, java.lang.Class javaType)
          Gets the Class mapped to QName, preferring the passed Class if possible
 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(java.lang.Class javaType, QName xmlType, TypeMappingDelegate start)
           
 DeserializerFactory getDeserializer(QName xmlType)
          Gets the DeserializerFactory registered for the specified XML data type.
 TypeMappingDelegate getNext()
          getDelegate gets the new Delegate TypeMapping
 SerializerFactory getSerializer(java.lang.Class javaType)
          Gets the SerializerFactory 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()
          JAX-RPC Compliant Method Definitions
 QName getTypeQName(java.lang.Class javaType)
          Gets the QName for the type mapped to Class.
 QName getTypeQNameExact(java.lang.Class javaType)
          Get the QName for this Java class, but only return a specific mapping if there is one.
 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.
 boolean isRegistered(java.lang.Class javaType, QName xmlType)
          Checks whether or not type mapping between specified XML type and Java type is registered.
 void register(java.lang.Class javaType, QName xmlType, SerializerFactory sf, DeserializerFactory dsf)
          always throws an exception
 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 setNext(TypeMappingDelegate next)
          setDelegate sets the new Delegate TypeMapping
 void setSupportedEncodings(java.lang.String[] namespaceURIs)
          Sets the encodingStyle URIs supported by this TypeMapping instance.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

getSupportedEncodings

public java.lang.String[] getSupportedEncodings()
JAX-RPC Compliant Method Definitions

Specified by:
getSupportedEncodings in interface TypeMapping
Returns:
Array of encodingStyle URIs for the supported encoding styles

setSupportedEncodings

public void setSupportedEncodings(java.lang.String[] namespaceURIs)
Description copied from interface: TypeMapping
Sets the encodingStyle URIs supported by this TypeMapping instance. A TypeMapping that contains only encoding independent serializers and deserializers requires null as the parameter for this method.

Specified by:
setSupportedEncodings in interface TypeMapping
Parameters:
namespaceURIs - Array of encodingStyle URIs for the supported encoding styles

register

public void register(java.lang.Class javaType,
                     QName xmlType,
                     SerializerFactory sf,
                     DeserializerFactory dsf)
              throws JAXRPCException
always throws an exception

Specified by:
register in interface TypeMapping
Parameters:
javaType -
xmlType -
sf -
dsf -
Throws:
JAXRPCException

getSerializer

public SerializerFactory getSerializer(java.lang.Class javaType,
                                       QName xmlType)
                                throws JAXRPCException
Description copied from interface: TypeMapping
Gets the SerializerFactory registered for the specified pair of Java type and XML data type.

Specified by:
getSerializer in interface TypeMapping
Parameters:
javaType - Class of the Java type
xmlType - Qualified name of the XML data type
Returns:
Registered SerializerFactory or null if there is no registered factory
Throws:
JAXRPCException

getSerializer

public SerializerFactory getSerializer(java.lang.Class javaType)
                                throws JAXRPCException
Description copied from interface: TypeMapping
Gets the SerializerFactory registered for the specified pair of Java type and XML data type.

Parameters:
javaType - - Class of the Java type
Returns:
Registered SerializerFactory
Throws:
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 specified

getDeserializer

public DeserializerFactory getDeserializer(java.lang.Class javaType,
                                           QName xmlType)
                                    throws JAXRPCException
Description copied from interface: TypeMapping
Gets the DeserializerFactory registered for the specified pair of Java type and XML data type.

Specified by:
getDeserializer in interface TypeMapping
Parameters:
javaType - Class of the Java type
xmlType - Qualified name of the XML data type
Returns:
Registered SerializerFactory or null if there is no registered factory
Throws:
JAXRPCException

getDeserializer

public DeserializerFactory getDeserializer(java.lang.Class javaType,
                                           QName xmlType,
                                           TypeMappingDelegate start)
                                    throws JAXRPCException
Throws:
JAXRPCException

getDeserializer

public DeserializerFactory getDeserializer(QName xmlType)
                                    throws JAXRPCException
Description copied from interface: TypeMapping
Gets the DeserializerFactory registered for the specified XML data type.

Parameters:
xmlType - - Qualified name of the XML data type
Returns:
Registered DeserializerFactory
Throws:
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

removeSerializer

public void removeSerializer(java.lang.Class javaType,
                             QName xmlType)
                      throws JAXRPCException
Description copied from interface: TypeMapping
Removes the SerializerFactory registered for the specified pair of Java type and XML data type.

Specified by:
removeSerializer in interface TypeMapping
Parameters:
javaType - Class of the Java type
xmlType - Qualified name of the XML data type
Throws:
JAXRPCException - if there is any error that prevents removal of the registered SerializerFactory

removeDeserializer

public void removeDeserializer(java.lang.Class javaType,
                               QName xmlType)
                        throws JAXRPCException
Description copied from interface: TypeMapping
Removes the DeserializerFactory registered for the specified pair of Java type and XML data type.

Specified by:
removeDeserializer in interface TypeMapping
Parameters:
javaType - Class of the Java type
xmlType - Qualified name of the XML data type
Throws:
JAXRPCException - if there is any error in removing the registered DeserializerFactory

isRegistered

public boolean isRegistered(java.lang.Class javaType,
                            QName xmlType)
Description copied from interface: TypeMapping
Checks whether or not type mapping between specified XML type and Java type is registered.

Specified by:
isRegistered in interface TypeMapping
Parameters:
javaType - Class of the Java type
xmlType - Qualified name of the XML data type
Returns:
boolean; true if type mapping between the specified XML type and Java type is registered; otherwise false

getTypeQName

public QName getTypeQName(java.lang.Class javaType)
Gets the QName for the type mapped to Class.

Parameters:
javaType - class or type
Returns:
xmlType qname or null

getClassForQName

public java.lang.Class getClassForQName(QName xmlType)
Gets the Class mapped to QName.

Parameters:
xmlType - qname or null
Returns:
javaType class for type or null for no mappingor delegate

getClassForQName

public java.lang.Class getClassForQName(QName xmlType,
                                        java.lang.Class javaType)
Gets the Class mapped to QName, preferring the passed Class if possible

Parameters:
xmlType - qname or null
javaType - a Java class
Returns:
javaType class for type or null for no mappingor delegate

getTypeQNameExact

public QName getTypeQNameExact(java.lang.Class javaType)
Get the QName for this Java class, but only return a specific mapping if there is one. In other words, don't do special array processing, etc.

Parameters:
javaType -
Returns:

setNext

public void setNext(TypeMappingDelegate next)
setDelegate sets the new Delegate TypeMapping


getNext

public TypeMappingDelegate getNext()
getDelegate gets the new Delegate TypeMapping


getAllClasses

public java.lang.Class[] getAllClasses()
Returns an array of all the classes contained within this mapping


getXMLType

public QName getXMLType(java.lang.Class javaType,
                        QName xmlType,
                        boolean encoded)
                 throws JAXRPCException
Get the exact XML type QName which will be used when serializing a given Class to a given type QName. In other words, if we have: Class TypeQName ---------------------- Base myNS:Base Child myNS:Child and call getXMLType(Child.class, BASE_QNAME), we should get CHILD_QNAME.

Parameters:
javaType -
xmlType -
Returns:
the type's QName
Throws:
JAXRPCException

setDoAutoTypes

public void setDoAutoTypes(boolean doAutoTypes)


Copyright ? 2005 Apache Web Services Project. All Rights Reserved.