Package org.apache.axis.encoding.ser
Class BeanSerializer
- java.lang.Object
-
- org.apache.axis.encoding.ser.BeanSerializer
-
- All Implemented Interfaces:
java.io.Serializable
,Serializer
,Serializer
public class BeanSerializer extends java.lang.Object implements Serializer, java.io.Serializable
General purpose serializer/deserializerFactory for an arbitrary java bean.- Author:
- Sam Ruby
, Rich Scheuerle , Tom Jordahl - See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description protected static org.apache.commons.logging.Log
log
protected BeanPropertyDescriptor[]
propertyDescriptor
protected TypeDesc
typeDesc
-
Constructor Summary
Constructors Constructor Description BeanSerializer(java.lang.Class javaType, QName xmlType)
BeanSerializer(java.lang.Class javaType, QName xmlType, TypeDesc typeDesc)
BeanSerializer(java.lang.Class javaType, QName xmlType, TypeDesc typeDesc, BeanPropertyDescriptor[] propertyDescriptor)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.String
getMechanismType()
Gets the type of the XML processing mechanism and representation used by this Serializer.protected org.xml.sax.Attributes
getObjectAttributes(java.lang.Object value, org.xml.sax.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 listvoid
serialize(QName name, org.xml.sax.Attributes attributes, java.lang.Object value, SerializationContext context)
Serialize a bean.protected void
writeAttribute(Types types, java.lang.String fieldName, java.lang.Class fieldType, QName fieldXmlType, org.w3c.dom.Element where)
write aa attribute element and append it to the 'where' Nodeprotected void
writeField(Types types, java.lang.String fieldName, QName xmlType, java.lang.Class fieldType, boolean isUnbounded, boolean isOmittable, org.w3c.dom.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 typesorg.w3c.dom.Element
writeSchema(java.lang.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 org.apache.commons.logging.Log log
-
propertyDescriptor
protected BeanPropertyDescriptor[] propertyDescriptor
-
typeDesc
protected TypeDesc typeDesc
-
-
Constructor Detail
-
BeanSerializer
public BeanSerializer(java.lang.Class javaType, QName xmlType)
-
BeanSerializer
public BeanSerializer(java.lang.Class javaType, QName xmlType, TypeDesc typeDesc, BeanPropertyDescriptor[] propertyDescriptor)
-
-
Method Detail
-
serialize
public void serialize(QName name, org.xml.sax.Attributes attributes, java.lang.Object value, SerializationContext context) throws java.io.IOException
Serialize a bean. Done simply by serializing each bean property.- Specified by:
serialize
in interfaceSerializer
- Parameters:
name
- is the element nameattributes
- are the attributes...serialize is free to add more.value
- is the valuecontext
- is the SerializationContext- Throws:
java.io.IOException
-
getMechanismType
public java.lang.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 interfaceSerializer
- Returns:
- XML processing mechanism type
-
writeSchema
public org.w3c.dom.Element writeSchema(java.lang.Class javaType, Types 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 interfaceSerializer
- Parameters:
javaType
- the Java Class we're writing out schema fortypes
- 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
-
writeField
protected void writeField(Types types, java.lang.String fieldName, QName xmlType, java.lang.Class fieldType, boolean isUnbounded, boolean isOmittable, org.w3c.dom.Element where, boolean isAnonymous, QName itemQName) 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 fieldxmlType
- the schema type of the fieldfieldType
- type of the fieldisUnbounded
- causes maxOccurs="unbounded" if setwhere
- location for the generated schema nodeitemQName
-- Throws:
java.lang.Exception
-
writeAttribute
protected void writeAttribute(Types types, java.lang.String fieldName, java.lang.Class fieldType, QName 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 fieldfieldType
- type of the fieldwhere
- 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 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
-
-