Class BeanSerializer

java.lang.Object
org.apache.axis.encoding.ser.BeanSerializer
All Implemented Interfaces:
Serializable, Serializer, Serializer

public class BeanSerializer extends Object implements Serializer, Serializable
General purpose serializer/deserializerFactory for an arbitrary java bean.
Author:
Sam Ruby invalid input: '<'rubys@us.ibm.com>, Rich Scheuerle invalid input: '<'scheu@us.ibm.com>, Tom Jordahl invalid input: '<'tomj@macromedia.com>
See Also:
  • Field Details

    • log

      protected static org.apache.commons.logging.Log log
    • propertyDescriptor

      protected BeanPropertyDescriptor[] propertyDescriptor
    • typeDesc

      protected TypeDesc typeDesc
  • Constructor Details

  • Method Details

    • serialize

      public void serialize(QName name, Attributes attributes, Object value, SerializationContext context) throws IOException
      Serialize a bean. Done simply by serializing each bean property.
      Specified by:
      serialize in interface Serializer
      Parameters:
      name - is the element name
      attributes - are the attributes...serialize is free to add more.
      value - is the value
      context - is the SerializationContext
      Throws:
      IOException
    • getMechanismType

      public String getMechanismType()
      Description copied from interface: Serializer
      Gets the type of the XML processing mechanism and representation used by this Serializer.
      Specified by:
      getMechanismType in interface Serializer
      Returns:
      XML processing mechanism type
    • writeSchema

      public Element writeSchema(Class javaType, Types types) throws Exception
      Return XML schema for the specified type, suitable for insertion into the <types> element of a WSDL document, or underneath an <element> or <attribute> declaration.
      Specified by:
      writeSchema in interface Serializer
      Parameters:
      javaType - the Java Class we're writing out schema for
      types - the Java2WSDL Types object which holds the context for the WSDL being generated.
      Returns:
      a type element containing a schema simpleType/complexType
      Throws:
      Exception
      See Also:
    • writeField

      protected void writeField(Types types, String fieldName, QName xmlType, Class fieldType, boolean isUnbounded, boolean isOmittable, Element where, boolean isAnonymous, QName itemQName) throws Exception
      write a schema representation of the given Class field and append it to the where Node, recurse on complex types
      Parameters:
      fieldName - name of the field
      xmlType - the schema type of the field
      fieldType - type of the field
      isUnbounded - causes maxOccurs="unbounded" if set
      where - location for the generated schema node
      itemQName -
      Throws:
      Exception
    • writeAttribute

      protected void writeAttribute(Types types, String fieldName, Class fieldType, QName fieldXmlType, Element where) throws Exception
      write aa attribute element and append it to the 'where' Node
      Parameters:
      fieldName - name of the field
      fieldType - type of the field
      where - location for the generated schema node
      Throws:
      Exception
    • getObjectAttributes

      protected Attributes getObjectAttributes(Object value, Attributes attributes, SerializationContext context)
      Check for meta-data in the bean that will tell us if any of the properties are actually attributes, add those to the element attribute list
      Parameters:
      value - the object we are serializing
      Returns:
      attributes for this element, null if none