Class TypeMappingDelegate

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

public class TypeMappingDelegate extends 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:
  • Method Details

    • getSupportedEncodings

      public 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(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(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(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(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(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(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(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(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(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(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 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 Class getClassForQName(QName xmlType, 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(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 Class[] getAllClasses()
      Returns an array of all the classes contained within this mapping
      Specified by:
      getAllClasses in interface TypeMapping
    • getXMLType

      public QName getXMLType(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)