Class GenericObjectSerializer

All Implemented Interfaces:
CombinedSerializer, Initializable, JAXRPCDeserializer, JAXRPCSerializer, SerializerConstants, Serializable, javax.xml.rpc.encoding.Deserializer, javax.xml.rpc.encoding.Serializer
Direct Known Subclasses:
ValueTypeSerializer

public class GenericObjectSerializer extends ObjectSerializerBase implements Initializable
A data-driven (de)serializer.
Author:
JAX-RPC Development Team
See Also:
  • Field Details

    • targetClass

      protected Class targetClass
    • members

      protected List members
    • xmlToJavaType

      protected Map xmlToJavaType
    • javaToXmlType

      protected Map javaToXmlType
    • registry

      protected InternalTypeMappingRegistry registry
  • Constructor Details

    • GenericObjectSerializer

      public GenericObjectSerializer(QName type, boolean encodeType, boolean isNullable, String encodingStyle)
    • GenericObjectSerializer

      public GenericObjectSerializer(QName type, boolean encodeType, boolean isNullable, String encodingStyle, SOAPVersion ver)
  • Method Details

    • addTypeRelation

      public void addTypeRelation(Class javaType, QName xmlType)
    • setTargetClass

      public void setTargetClass(Class targetClass)
    • doSetTargetClass

      protected void doSetTargetClass(Class targetClass)
    • initialize

      public void initialize(InternalTypeMappingRegistry registry) throws Exception
      Description copied from interface: Initializable
      Allows the implementors to retrieve and cache serializers during system intialization
      Specified by:
      initialize in interface Initializable
      Throws:
      Exception - This exception may be thrown if there is a problem initializing
    • clearMembers

      public void clearMembers()
    • addMember

      public void addMember(GenericObjectSerializer.MemberInfo member) throws Exception
      Throws:
      Exception
    • doSerializeInstance

      protected void doSerializeInstance(Object instance, XMLWriter writer, SOAPSerializationContext context) throws Exception
      Description copied from class: ObjectSerializerBase
      Serialize each data member of obj into writer with the aid of context
      Specified by:
      doSerializeInstance in class ObjectSerializerBase
      Throws:
      Exception
    • doDeserialize

      protected Object doDeserialize(SOAPDeserializationState state, XMLReader reader, SOAPDeserializationContext context) throws Exception
      Description copied from class: ObjectSerializerBase
      Deserialize each element coming out of reader into state with the aid of context

      Example: protected Object doDeserialize(SOAPDeserializationState state, XMLReader reader, SOAPDeserializationContext context) throws Exception { Foo instance = new Foo(); Foo_SOAPBuilder builder = null; Object member; boolean isComplete = true; QName elementName; reader.nextElementContent(); elementName = reader.getName(); if (elementName.equals(FooMember_QNAME)) { // check to see if this is the name of the next expected member member = FooMemberDeserializer.deserialize(FooMember_QNAME, reader, context); if (member instanceof SOAPDeserializationState) { if (builder == null) { builder = new FooMemberBuilder(); } state = registerWithMemberState(instance, state, member, MEMBER_INDEX, builder); // MEMBER_INDEX is the index of the member within the object isComplete = false; } else { instance.setMember((FooMember)member); // "setMember" is whatever setter is appropriate for the member } } reader.nextElementContent(); XMLReaderUtil.verifyReaderState(reader, XMLReader.END); return (isComplete ? (Object)instance : (Object)state); }

      Specified by:
      doDeserialize in class ObjectSerializerBase
      Throws:
      Exception
    • getMemberOrder

      protected List getMemberOrder(Object instance, List membersAlphabetically)