## org.apache.axis.encoding
Class TypeMappingDelegate

    java.lang.Object
      org.apache.axis.encoding.TypeMappingDelegate

All Implemented Interfaces:
  java.io.Serializable, TypeMapping, 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.

  Specified by:
    `getSerializer` in interface `TypeMapping`
  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.

  Specified by:
    `getDeserializer` in interface `TypeMapping`
  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.

  Specified by:
    `getTypeQName` in interface `TypeMapping`
  Parameters:
    `javaType` - class or type
  Returns:
    xmlType qname or null

### getClassForQName

    public java.lang.Class getClassForQName(QName xmlType)

  Gets the Class mapped to QName.

  Specified by:
    `getClassForQName` in interface `TypeMapping`
  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

  Specified by:
    `getClassForQName` in interface `TypeMapping`
  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.

  Specified by:
    `getTypeQNameExact` in interface `TypeMapping`
  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

  Specified by:
    `getAllClasses` in interface `TypeMapping`

### 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.

  Specified by:
    `getXMLType` in interface `TypeMapping`
  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.