org.apache.axis.encoding.ser

Class BeanSerializer

public class BeanSerializer extends Object implements Serializer, Serializable

General purpose serializer/deserializerFactory for an arbitrary java bean.

Author: Sam Ruby Rich Scheuerle Tom Jordahl

Field Summary
protected static Loglog
protected BeanPropertyDescriptor[]propertyDescriptor
protected TypeDesctypeDesc
Constructor Summary
BeanSerializer(Class javaType, QName xmlType)
BeanSerializer(Class javaType, QName xmlType, TypeDesc typeDesc)
BeanSerializer(Class javaType, QName xmlType, TypeDesc typeDesc, BeanPropertyDescriptor[] propertyDescriptor)
Method Summary
StringgetMechanismType()
protected AttributesgetObjectAttributes(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
voidserialize(QName name, Attributes attributes, Object value, SerializationContext context)
Serialize a bean.
protected voidwriteAttribute(Types types, String fieldName, Class fieldType, QName fieldXmlType, Element where)
write aa attribute element and append it to the 'where' Node
protected voidwriteField(Types types, String fieldName, QName xmlType, Class fieldType, boolean isUnbounded, boolean isOmittable, Element where, boolean isAnonymous, QName itemQName)
write a schema representation of the given Class field and append it to the where Node, recurse on complex types
ElementwriteSchema(Class javaType, Types 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.

Field Detail

log

protected static Log log

propertyDescriptor

protected BeanPropertyDescriptor[] propertyDescriptor

typeDesc

protected TypeDesc typeDesc

Constructor Detail

BeanSerializer

public BeanSerializer(Class javaType, QName xmlType)

BeanSerializer

public BeanSerializer(Class javaType, QName xmlType, TypeDesc typeDesc)

BeanSerializer

public BeanSerializer(Class javaType, QName xmlType, TypeDesc typeDesc, BeanPropertyDescriptor[] propertyDescriptor)

Method Detail

getMechanismType

public String getMechanismType()

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

serialize

public void serialize(QName name, Attributes attributes, Object value, SerializationContext context)
Serialize a bean. Done simply by serializing each bean property.

Parameters: name is the element name attributes are the attributes...serialize is free to add more. value is the value context is the SerializationContext

writeAttribute

protected void writeAttribute(Types types, String fieldName, Class fieldType, QName fieldXmlType, Element where)
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

writeField

protected void writeField(Types types, String fieldName, QName xmlType, Class fieldType, boolean isUnbounded, boolean isOmittable, Element where, boolean isAnonymous, QName itemQName)
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

writeSchema

public Element writeSchema(Class javaType, Types 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.

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

See Also: Types

Copyright B) 2005 Apache Web Services Project. All Rights Reserved.