org.apache.axis.message.MessageElement:
added Object getValue()/setValue(Object) methods.
makes it a lot easier to build nodes with registered types as values.
Fixed output() method to serialize any children node may have.
-Taras
61a62
> import org.apache.axis.encoding.Serializer;
80a82
> import java.util.Iterator;
87a90,91
> private Object mValue=null;
>
207a212,235
> public Object getValue() throws Exception{
> if(mValue==null){
> QName myType=getType();
> if(myType==null){
> String
typeStr=attributes.getValue("xsi","type");
> if(typeStr!=null){
> int colPos=typeStr.indexOf(':');
> if(colPos!=-1){
> myType=new
QName(typeStr.substring(0,colPos),typeStr.substring(colPos+1));
> }else{
> myType=new
QName("",typeStr);
> }
> setType(myType);
> }
> }
> mValue=getValueAsType(myType);
> }
> return mValue;
> }
>
> public void setValue(Object newValue){
> this.mValue=newValue;
> }
>
310a339,341
> if(typeQName==null){
> setType(type);
> }
468a500,508
> if(mValue!=null){
> Serializer
typeSerial=context.getSerializerForJavaType(mValue.getClass());
> if(typeSerial!=null){
> typeSerial.serialize(new QName(namespaceURI,
name),attributes,mValue,context);
> return;
> }
> }
>
>
499a540,545
> if(children!=null){
> for(Iterator it=children.iterator();it.hasNext();){
> MessageElement
child=(MessageElement)it.next();
> child.output(context);
> }
> }