Ajith,

I'd like to suggest a small change for your proposal.

> Hi All,
> There have been some talk about performance improvements for Axis2
> next steps. So here is a small proposal of how to do a possible
> optimization with AXIOM and ADB.
> 
> 1. AXIOM needs to have an interface that allows a XMLStreamWriter to
> passed. This allows the implementer (of the interface) to have code
> that directly uses the writer. (Currently the OMDataSource has the
> necessary methods. We actually need only one, the write method).
> 
> 2. We have a special OMElement abstract class that implements the
> OMDataSource that has a constructor taking in an ADBBean.

OMDataSource having dependency on ADBBean? I think u didn't mean it :).

Let me re-phrase this. Ajith, please confirm if you agree.

There will be a new OMElement implementation (say,
ObjectWrappingOMElement) which extends from OMElement. It will have a
constructor to get an instance of OMObjectWrapper.

public interface OMObjectWrapper(){

 public XMLStreamReader getPullParser();

 public void writeYourSelf(XMLStreamWriter);

}

public class OMObjectWrappingElement extends OMElement{

  public OMObjectWrappingElement(OMObjectWrapper wrapper){

  }

  public void serializeWithConsume(XMLStreamWriter writer){
     wrapper.writeYourSelf(writer)
  }

}

And perhaps implement the OMObjectWrapper interface to ADBBean so that
ADBBean can be directly input to the constructor of the
OMObjectWrappingElement.

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to