Differences between revisions 2 and 3
Revision 2 as of 2004-09-02 06:08:16
Size: 2233
Comment:
Revision 3 as of 2009-09-20 22:47:49
Size: 2233
Editor: localhost
Comment: converted to 1.6 markup
No differences found!

Encoding Module

Requirements

  1. Lay out the Deserializer and Serializer interfaces and provide at lest one implementation.
  2. Code generation for the type Deserializers (and Serializer) that are based on pull parser
  3. MTOM supported
  4. DOC literal and soap encoding support
  5. Define the Type Mapping and implement it.

Wish List

Sub Components

  1. Deserializer
  2. Serializer
  3. Type Mapping

Deserializer

public interface Deserializer {
    public Object deserialize(QName xmlName,XMLPullParser parser);
    public int deserializeInt(XMLPullParser parser);
    public double deserializeDouble(XMLPullParser parser);
    public long deserializeLong(XMLPullParser parser);
    public float deserializeFloat(XMLPullParser parser);
    public boolean deserializeBoolean(XMLPullParser parser);
    public byte deserializeByte(XMLPullParser parser);
    public char deserializeChar(XMLPullParser parser);
    public short deserializeShort(XMLPullParser parser);
}

Serialization

package org.apache.axis.encoding;
import java.io.IOException;
import org.apache.xml.utils.QName;
/**
 * I consider this to be a interface as the Axis may use differant serializers and deserializers 
 * that works on DOM/SAX/StAx ..so it can have different timplementatoins behind this.
 * StAx(pull)->SAX->DOM :)  
 */
public interface Serializer {
    public void serialize(Object object,QName xmlType,QName elementName)throws IOException;
    //Should we have overridden tyes for the simple types ?? 
    //I am feel like so 
    public void serialize(int in,QName elementName)throws IOException;
    public void serialize(double in,QName elementName)throws IOException;
    public void serialize(float in,QName elementName)throws IOException;
    public void serialize(byte in,QName elementName)throws IOException;
    public void serialize(long in,QName elementName)throws IOException;
    public void serialize(boolean in,QName elementName)throws IOException;
    public void serialize(short in,QName elementName)throws IOException;
    public void serialize(char in,QName elementName)throws IOException;
}

Type Mapping

TODO

FrontPage/Architecture/Encoding (last edited 2009-09-20 22:47:49 by localhost)