complexType derivation by extension

schema

    <complexType name="Struct3">
        <complexContent>
            <extension base="structs:Struct2">
                <sequence>
                    <element name="date1" type="xsd:date" default="01-01-01"/>
                    <element name="date2" type="xsd:date" fixed="02-02-02"/>
                    <element name="listelem" type="tns:IntList"/>
                    <element name="enumelem" type="tns:URLType"/>
                </sequence>
            </extension>
        </complexContent>
        <attribute name="att1" type="xsd:date"/>
        <anyAttribute/>
    </complexType>
                                                                           

Struct3 Bean

// Generated from examples.xsd
// On Wed Jun 09 11:15:21 EDT 2004
                                                                           
package examples;
                                                                           
public class Struct3
    extends examples.Struct2
    implements java.io.Serializable
{
    public Struct3() {}
                                                                           
    public Struct3(java.util.Calendar Att1Val, java.lang.Integer Elem1Val, java.lang.String Elem2Val, java.util.Calendar Date1Val, int[] ListelemVal, examples.URLType EnumelemVal) {
    |   setAtt1(Att1Val);
    |   setElem1(Elem1Val);
    |   setElem2(Elem2Val);
    |   setDate1(Date1Val);
    |   setListelem(ListelemVal);
    |   setEnumelem(EnumelemVal);
        }
    public static final java.util.Calendar _Date2_fixed = get_Date2_fixed();
    private static java.util.Calendar get_Date2_fixed() {
    |   try {
    |   |   return com.sssw.jbroker.web.xsd.mapping.CalendarMapping.deserializeCalendar("02-02-02");
    |   } catch (Exception e) { throw new RuntimeException(e.getMessage()); }
    }
                                                                           
    public java.util.Calendar getDate2() {
    |   return _Date2_fixed;
    }
                                                                           
    public void setDate2(java.util.Calendar Date2Val) {
    |   throw new IllegalArgumentException("Fixed value can not be set!");
    }
                                                                           
    private java.util.Calendar _Att1;
                                                                           
    public java.util.Calendar getAtt1() {
    |   return _Att1;
    }
                                                                           
    public void setAtt1(java.util.Calendar Att1Val) {
    |   _Att1 = Att1Val;
    }
                                                                           
    private com.sssw.jbroker.web.encoding.Attribute[] _otherAttributes;
                                                                           
    public com.sssw.jbroker.web.encoding.Attribute[] getOtherAttributes() {
    |   return _otherAttributes;
    }
                                                                           
    public void setOtherAttributes(com.sssw.jbroker.web.encoding.Attribute[] otherAttributesVal) {
    |   _otherAttributes = otherAttributesVal;
    }
                                                                           
    private java.util.Calendar _Date1 = com.sssw.jbroker.web.xsd.mapping.CalendarMapping.deserializeCalendar("01-01-01");
                                                                           
    public java.util.Calendar getDate1() {
    |   return _Date1;
    }
                                                                           
    public void setDate1(java.util.Calendar Date1Val) {
    |   if (Date1Val == null) throw new IllegalArgumentException("value can not be null for Date1");
    |   _Date1 = Date1Val;
    }
                                                                           
    private int[] _Listelem;
                                                                           
    public int[] getListelem() {
    |   return _Listelem;
    }
                                                                           
    public void setListelem(int[] ListelemVal) {
    |   if (ListelemVal == null) throw new IllegalArgumentException("value can not be null for Listelem");
    |   _Listelem = ListelemVal;
    }
                                                                           
    private examples.URLType _Enumelem;
                                                                           
    public examples.URLType getEnumelem() {
    |   return _Enumelem;
    }
                                                                           
    public void setEnumelem(examples.URLType EnumelemVal) {
    |   if (EnumelemVal == null) throw new IllegalArgumentException("value can not be null for Enumelem");
    |   _Enumelem = EnumelemVal;
    }
                                                                           
    public java.lang.String toString() {
    |   java.lang.StringBuffer buffer = new java.lang.StringBuffer();
    |   buffer.append("examples.Struct3={");
    |   buffer.append("_Att1="+_Att1);
    |   buffer.append(",");
    |   buffer.append("_Date1="+_Date1);
    |   buffer.append(",");
    |   buffer.append("_Date2_fixed="+_Date2_fixed);
    |   buffer.append(",");
    |   buffer.append("_Listelem="+_Listelem);
    |   buffer.append(",");
    |   buffer.append("_Enumelem="+_Enumelem);
    |   buffer.append(super.toString());
    |   buffer.append("}");
    |   return buffer.toString();
    }
                                                                           
    public boolean equals(java.lang.Object object) {
    |   if (object == null) return false;
    |   if (!(examples.Struct3.class.isAssignableFrom(object.getClass()))) return false;
    |   examples.Struct3 obj = (examples.Struct3) object;
    |                                                                      
    |   if (_Att1 == null) {
    |   |   if (obj._Att1 != null) return false;
    |   } else if (!_Att1.equals(obj._Att1)) return false;
    |                                                                      
    |                                                                      
    |   if (_Date1 == null) {
    |   |   if (obj._Date1 != null) return false;
    |   } else if (!_Date1.equals(obj._Date1)) return false;
    |                                                                      
    |   if (_Listelem == null) {
    |   |   if (obj._Listelem != null) return false;
    |   } else if (!_Listelem.equals(obj._Listelem)) return false;
    |                                                                      
    |   if (_Enumelem == null) {
    |   |   if (obj._Enumelem != null) return false;
    |   } else if (!_Enumelem.equals(obj._Enumelem)) return false;
    |                                                                      
    |                                                                      
    |   return super.equals(obj);
    }
                                                                           
    public int hashCode() { return toString().hashCode(); }
                                                                           
}

Struct3 Marshaler

// Generated from examples.xsd
// On Wed Jun 09 11:15:21 EDT 2004
                                                                           
package examples;
                                                                           
public class Struct3Marshaler
extends examples.Struct2Marshaler
 implements com.sssw.jbroker.web.encoding.Marshaler
{
    // attributes
    private static final javax.xml.namespace.QName _ATT1 = new javax.xml.namespace.QName("http://www.structs.com", "att1");
                                                                           
                                                                           
    // elements
    private static final javax.xml.namespace.QName _DATE1 = new javax.xml.namespace.QName("http://www.structs.com", "date1");
    private static final javax.xml.namespace.QName _DATE2 = new javax.xml.namespace.QName("http://www.structs.com", "date2");
    private static final javax.xml.namespace.QName _LISTELEM = new javax.xml.namespace.QName("http://www.structs.com", "listelem");
    private static final javax.xml.namespace.QName _ENUMELEM = new javax.xml.namespace.QName("http://www.structs.com", "enumelem");
                                                                           
    public void serialize(com.sssw.jbroker.web.portable.OutputStream os, java.lang.Object object) throws java.io.IOException
    {
    |   examples.Struct3 obj = (examples.Struct3) object;
    |   super.serialize(os, object);
    |                                                                      
    |   // Date1
    |   if (obj.getDate1() == null) throw new IllegalArgumentException("value can not be null for Date1");
    |   os.writeObject(obj.getDate1(), "", _DATE1.getLocalPart(), "http://www.w3.org/2001/XMLSchema", "date");
    |                                                                      
    |                                                                      
    |   // Date2
    |   if (obj.getDate2() == null) throw new IllegalArgumentException("value can not be null for Date2");
    |   os.writeObject(obj.getDate2(), "", _DATE2.getLocalPart(), "http://www.w3.org/2001/XMLSchema", "date");
    |                                                                      
    |                                                                      
    |   // Listelem
    |   if (obj.getListelem() == null) throw new IllegalArgumentException("value can not be null for Listelem");
    |   os.writeObject(obj.getListelem(), "", _LISTELEM.getLocalPart(), "http://www.structs.com", "IntList");
    |                                                                      
    |                                                                      
    |   // Enumelem
    |   if (obj.getEnumelem() == null) throw new IllegalArgumentException("value can not be null for Enumelem");
    |   os.writeObject(obj.getEnumelem(), "", _ENUMELEM.getLocalPart(), "http://www.structs.com", "URLType");
    |                                                                      
    }
                                                                           
    public java.lang.Object deserialize(com.sssw.jbroker.web.portable.InputStream is, java.lang.Class javaType) throws java.io.IOException
    {
    |   if (!examples.Struct3.class.isAssignableFrom(javaType))
    |       throw new
    |           com.sssw.jbroker.web.ServiceException("can not deserialize " + javaType.getName());
    |                                                                      
    |   // get attributes
    |   java.util.Map attributes = readAttributes(is.getAttributes());
    |   examples.Struct3 obj = null;
    |   obj = (examples.Struct3) super.deserialize(is, javaType);
    |   deserializeAttributes(obj, attributes);
    |   // read elements
    |   com.sssw.jbroker.web.QName  qname  = null;
    |   java.lang.String fName  = null;
    |   qname = is.peek();
    |   java.util.Calendar Date1 = null;
    |   Date1 = (java.util.Calendar)is.readObject(java.util.Calendar.class, "", _DATE1.getLocalPart(), "http://www.w3.org/2001/XMLSchema", "date");
    |                                                                      
    |   obj.setDate1(Date1);
    |                                                                      
    |   qname = is.peek();
    |   java.util.Calendar Date2 = null;
    |   java.util.Calendar Date2_fixed = (java.util.Calendar)is.readObject(java.util.Calendar.class, "", _DATE2.getLocalPart(), "http://www.w3.org/2001/XMLSchema", "date");
    |   if (!obj.getDate2().equals(Date2_fixed))
    |       throw new IllegalArgumentException("fixed value not correct: "+Date2_fixed);
    |   qname = is.peek();
    |   int[] Listelem = null;
    |   Listelem = (int[])is.readObject(int[].class, "", _LISTELEM.getLocalPart(), "http://www.structs.com", "IntList");
    |                                                                      
    |   obj.setListelem(Listelem);
    |                                                                      
    |   qname = is.peek();
    |   examples.URLType Enumelem = null;
    |   Enumelem = (examples.URLType)is.readObject(examples.URLType.class, "", _ENUMELEM.getLocalPart(), "http://www.structs.com", "URLType");
    |                                                                      
    |   obj.setEnumelem(Enumelem);
    |                                                                      
    |                                                                      
    |                                                                      
    |   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;
    |   examples.Struct3 obj = (examples.Struct3) object;
    |                                                                      
    |   com.sssw.jbroker.web.encoding.Attribute[] sattrs = super.getAttributes(object);
    |   if (sattrs != null) {
    |   |   for (int i=0; i < sattrs.length; i++) {
    |   |   |   attribs.add(sattrs[i]);
    |   |   }
    |   }
    |                                                                      
    |   if (obj.getAtt1() != null) {
    |   |   qname = new javax.xml.namespace.QName("", "att1");
    |   |   attVal = com.sssw.jbroker.web.xsd.mapping.CalendarMapping.serializeCalendar(obj.getAtt1());
    |   |   attr = new com.sssw.jbroker.web.encoding.Attribute(qname, attVal);
    |   |   attribs.add(attr);
    |   }
    |   attrs = obj.getOtherAttributes();
    |   if (attrs != null) {
    |   |   for(int i =0; i < attrs.length; i++) 
    |   |       attribs.add(attrs[i]);
    |   }
    |                                                                      
    |   attrs = new com.sssw.jbroker.web.encoding.Attribute[attribs.size()];
    |   attribs.toArray(attrs);
    |   return attrs;
    }
                                                                           
    private void deserializeAttributes(examples.Struct3 obj, java.util.Map attributes)
    throws java.io.IOException
    {
    |   // set attributes
    |   java.lang.String attr = null;
    |                                                                      
    |   attr = (java.lang.String) attributes.get(_ATT1);
    |   if (attr != null) {
    |   |   attributes.remove(_ATT1);
    |   |   obj.setAtt1(com.sssw.jbroker.web.xsd.mapping.CalendarMapping.deserializeCalendar(attr));
    |   }
    |   deserializeAnyAttributes(obj, attributes);
    }
                                                                           
    private void deserializeAnyAttributes(examples.Struct3 obj, java.util.Map attributes)
    throws java.io.IOException
    {
    |   javax.xml.namespace.QName attName = null;
    |   javax.xml.namespace.QName attVal = null;
    |   com.sssw.jbroker.web.encoding.Attribute[] attrs = null;
    |   com.sssw.jbroker.web.encoding.Attribute attr = null;
    |                                                                      
    |   attrs = new com.sssw.jbroker.web.encoding.Attribute[attributes.size()];
    |   java.util.Set attSet = attributes.entrySet();
    |   java.util.Iterator it = attSet.iterator();
    |   int i =0;
    |   while(it.hasNext()) {
    |   |   java.util.Map.Entry entry = (java.util.Map.Entry) it.next();
    |   |   attName = (javax.xml.namespace.QName)entry.getKey();
    |   |   attVal = new javax.xml.namespace.QName((java.lang.String)entry.getValue());
    |   |   attr = new com.sssw.jbroker.web.encoding.Attribute(attName, attVal);
    |   |   attrs[i] = attr;
    |   |   i++;
    |   }
    |   obj.setOtherAttributes(attrs);
    }
                                                                           
    private java.util.Map readAttributes(org.xml.sax.Attributes attributes) {
    |   java.util.Map attrs = new java.util.HashMap();
    |   int len = attributes.getLength();
    |   for (int i=0; i < len; i++) {
    |   |   java.lang.String uri = attributes.getURI(i);
    |   |   java.lang.String ln = attributes.getLocalName(i);
    |   |   javax.xml.namespace.QName attName = new javax.xml.namespace.QName(uri, ln);
    |   |   java.lang.String attVal = attributes.getValue(i);
    |   |   if (ln.equalsIgnoreCase("type"))
    |   |       if (uri.equalsIgnoreCase("http://www.w3.org/2001/XMLSchema-instance"))
    |   |           continue;
    |   |   attrs.put(attName, attVal);
    |   }
    |   return attrs;
    }
                                                                           
    public java.lang.String getMechanismType() { return null; }
}


Copyright © 2003, 2004 Novell, Inc. All rights reserved. Copyright © 2001, 2002, 2003 SilverStream Software, LLC. All rights reserved.