org.jboss.axis.encoding.ser
Class BeanSerializer

java.lang.Object
  extended byorg.jboss.axis.encoding.ser.BeanSerializer
All Implemented Interfaces:
java.io.Serializable, Serializer (src) , Serializer (src)
Direct Known Subclasses:
MetaDataBeanSerializer (src)

public class BeanSerializer
extends java.lang.Object
implements Serializer (src)

General purpose serializer/deserializerFactory for an arbitrary java bean.

See Also:
Serialized Form

Field Summary
protected  BeanPropertyDescriptor (src) [] propertyDescriptor
           
protected  TypeDesc (src) typeDesc
           
 
Constructor Summary
BeanSerializer(java.lang.Class javaType, QName (src)  xmlType)
           
BeanSerializer(java.lang.Class javaType, QName (src)  xmlType, TypeDesc (src)  typeDesc)
           
BeanSerializer(java.lang.Class javaType, QName (src)  xmlType, TypeDesc (src)  typeDesc, BeanPropertyDescriptor (src) [] propertyDescriptor)
           
 
Method Summary
 java.lang.String getMechanismType()
           
protected  org.xml.sax.Attributes getObjectAttributes(java.lang.Object value, org.xml.sax.Attributes attributes, SerializationContext (src)  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
 void serialize(QName (src)  name, org.xml.sax.Attributes attributes, java.lang.Object value, SerializationContext (src)  context)
          Serialize a bean.
protected  void writeAttribute(Types (src)  types, java.lang.String fieldName, java.lang.Class fieldType, QName (src)  fieldXmlType, org.w3c.dom.Element where)
          write aa attribute element and append it to the 'where' Node
protected  void writeField(Types (src)  types, java.lang.String fieldName, java.lang.Class fieldType, boolean isUnbounded, boolean isOmittable, org.w3c.dom.Element where, boolean isAnonymous)
          write a schema representation of the given Class field and append it to the where Node, recurse on complex types
 org.w3c.dom.Element writeSchema(java.lang.Class javaType, Types (src)  types)
          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.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

propertyDescriptor

protected BeanPropertyDescriptor (src) [] propertyDescriptor

typeDesc

protected TypeDesc (src)  typeDesc
Constructor Detail

BeanSerializer

public BeanSerializer(java.lang.Class javaType,
                      QName (src)  xmlType)

BeanSerializer

public BeanSerializer(java.lang.Class javaType,
                      QName (src)  xmlType,
                      TypeDesc (src)  typeDesc)

BeanSerializer

public BeanSerializer(java.lang.Class javaType,
                      QName (src)  xmlType,
                      TypeDesc (src)  typeDesc,
                      BeanPropertyDescriptor (src) [] propertyDescriptor)
Method Detail

serialize

public void serialize(QName (src)  name,
                      org.xml.sax.Attributes attributes,
                      java.lang.Object value,
                      SerializationContext (src)  context)
               throws java.io.IOException
Serialize a bean. Done simply by serializing each bean property.

Specified by:
serialize in interface Serializer (src)
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:
java.io.IOException

getMechanismType

public java.lang.String getMechanismType()
Specified by:
getMechanismType in interface Serializer (src)

writeSchema

public org.w3c.dom.Element writeSchema(java.lang.Class javaType,
                                       Types (src)  types)
                                throws java.lang.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 (src)
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:
java.lang.Exception
See Also:
Types (src)

writeField

protected void writeField(Types (src)  types,
                          java.lang.String fieldName,
                          java.lang.Class fieldType,
                          boolean isUnbounded,
                          boolean isOmittable,
                          org.w3c.dom.Element where,
                          boolean isAnonymous)
                   throws java.lang.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
fieldType - type of the field
isUnbounded - causes maxOccurs="unbounded" if set
where - location for the generated schema node
Throws:
java.lang.Exception

writeAttribute

protected void writeAttribute(Types (src)  types,
                              java.lang.String fieldName,
                              java.lang.Class fieldType,
                              QName (src)  fieldXmlType,
                              org.w3c.dom.Element where)
                       throws java.lang.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:
java.lang.Exception

getObjectAttributes

protected org.xml.sax.Attributes getObjectAttributes(java.lang.Object value,
                                                     org.xml.sax.Attributes attributes,
                                                     SerializationContext (src)  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