Class 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 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
      • 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​(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
      • 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)