simpleType using xsd:list

1 schema

    <simpleType name="IntList">
        <list itemType="xsd:int"/>
    </simpleType>
                                                                           

2 List Bean

// Generated from simple.xsd
// On Mon Dec 08 11:11:31 EST 2003
                                                                           
package simple;
                                                                           
public class IntList
 implements java.io.Serializable
{
    public IntList(int[] value) { setValue(value); }
    public IntList(java.lang.String value) { setValue(parse(value)); }
                                                                           
    private int[] _value;
                                                                           
    public int[] getValue() {
    |   return _value;
    }
                                                                           
                                                                           
    public void setValue(int[] val) {
    |   if (val == null) throw new IllegalArgumentException("can not set null value for simple content");
    |   _value = val;
    }
                                                                           
                                                                           
    private int[] parse(java.lang.String value) {
    |   try {
    |   |   value = value.trim();
    |   |   java.util.StringTokenizer st = new java.util.StringTokenizer(value, " ");
    |   |   java.util.ArrayList tokens = new java.util.ArrayList();
    |   |   while(st.hasMoreTokens())
    |   |       tokens.add(st.nextToken());
    |   |   int len = tokens.size();
    |   |   int[] array = new int[len];
    |   |   for (int i=0; i < len; i++) {
    |   |   |   array[i] = (new java.lang.Integer((java.lang.String)tokens.get(i))).intValue();
    |   |   }
    |   |   return array;
    |   } catch(Throwable e) {
    |   |   throw new IllegalArgumentException(e.getMessage());
    |   }
    }
                                                                           
    public java.lang.String toString() {  return getContent(_value); }
                                                                           
    protected static java.lang.String getContent(int[] val) {
    |   java.lang.StringBuffer sb = new java.lang.StringBuffer();
    |   for (int i=0; i < val.length; i++) {
    |   |   sb.append(java.lang.String.valueOf(val[i]));
    |   |   if (i == val.length -1) break;
    |   |   sb.append(' ');
    |   }
    |   return new java.lang.String(sb);
    }
                                                                           
                                                                           
    public boolean equals(java.lang.Object object) { 
    |   if (object == null) return false;
    |   return this.toString().equals(object.toString());
    }
                                                                           
                                                                           
    public int hashCode() { return toString().hashCode(); }
                                                                           
                                                                           
    /**@deprecated since jBroker Web 2.0 use getValue*/
    public java.lang.String getContent() { return toString(); }
                                                                           
    /**@deprecated since jBroker Web 2.0 use setValue*/
    public void setContent(java.lang.String val) { setValue(parse(val)); }
                                                                           
                                                                           
}

3 List Marshaler

// Generated from simple.xsd
// On Mon Dec 08 11:11:31 EST 2003
                                                                           
package simple;
                                                                           
public class IntListMarshaler
 implements com.sssw.jbroker.web.encoding.Marshaler
{
    public void serialize(com.sssw.jbroker.web.portable.OutputStream os, java.lang.Object object) throws java.io.IOException
    {
    |   simple.IntList obj = (simple.IntList) object;
    |   os.writeContent(obj.toString());
    }
                                                                           
    public java.lang.Object deserialize(com.sssw.jbroker.web.portable.InputStream is, java.lang.Class javaType) throws java.io.IOException
    {
    |   if (!simple.IntList.class.isAssignableFrom(javaType))
    |       throw new
    |           com.sssw.jbroker.web.ServiceException("can not deserialize " + javaType.getName());
    |                                                                      
    |   simple.IntList obj = new simple.IntList(is.readContent());
    |                                                                      
    |   return obj;
    }
    public com.sssw.jbroker.web.encoding.Attribute[] getAttributes(java.lang.Object object)
    {
    |   javax.xml.namespace.QName qname = null;
    |   java.lang.String attVal = null;
    |   java.util.ArrayList attribs = new java.util.ArrayList();
    |   com.sssw.jbroker.web.encoding.Attribute[] attrs = null;
    |   com.sssw.jbroker.web.encoding.Attribute attr = null;
    |   simple.IntList obj = (simple.IntList) object;
    |   return null;
    }
                                                                           
                                                                           
    public java.lang.String getMechanismType() { return null; }
}
Copyright © 2000-2003, Novell, Inc. All rights reserved.