This example shows complexType using attributeGroup as well as anonymous type from attribute defintion. Please see section 4 and 5 for bean and marshaler generated for the anonymous type.
<complexType name="Struct4">
<all/>
<attributeGroup ref="AttrGroup1"/>
</complexType>
<attributeGroup name="AttrGroup1">
<attribute name="str1">
<simpleType>
<restriction base="xsd:string">
<enumeration value="air"/>
<enumeration value="groung"/>
<enumeration value="any"/>
</restriction>
</simpleType>
</attribute>
<attribute name="str2" type="xsd:string" use="prohibited"/>
<attribute name="int1" type="xsd:int"/>
<attribute name="int2" type="xsd:int" use="optional"/>
<attribute name="cal1" type="xsd:dateTime" use="required"/>
</attributeGroup>
// Generated from examples.xsd
// On Wed Jun 09 11:15:21 EDT 2004
package examples;
public class Struct4
implements java.io.Serializable
{
public Struct4() {}
public Struct4(examples.Str1 Str1Val, java.lang.String Str2Val, java.lang.Integer Int1Val, java.lang.Integer Int2Val, java.util.Calendar Cal1Val) {
| setStr1(Str1Val);
| setStr2(Str2Val);
| setInt1(Int1Val);
| setInt2(Int2Val);
| setCal1(Cal1Val);
}
private examples.Str1 _Str1;
public examples.Str1 getStr1() {
| return _Str1;
}
public void setStr1(examples.Str1 Str1Val) {
| _Str1 = Str1Val;
}
private java.lang.String _Str2;
public java.lang.String getStr2() {
| return _Str2;
}
public void setStr2(java.lang.String Str2Val) {
| _Str2 = Str2Val;
}
private java.lang.Integer _Int1;
public java.lang.Integer getInt1() {
| return _Int1;
}
public void setInt1(java.lang.Integer Int1Val) {
| _Int1 = Int1Val;
}
private java.lang.Integer _Int2;
public java.lang.Integer getInt2() {
| return _Int2;
}
public void setInt2(java.lang.Integer Int2Val) {
| _Int2 = Int2Val;
}
private java.util.Calendar _Cal1;
public java.util.Calendar getCal1() {
| return _Cal1;
}
public void setCal1(java.util.Calendar Cal1Val) {
| _Cal1 = Cal1Val;
}
public java.lang.String toString() {
| java.lang.StringBuffer buffer = new java.lang.StringBuffer();
| buffer.append("examples.Struct4={");
| buffer.append("_Str1="+_Str1);
| buffer.append(",");
| buffer.append("_Str2="+_Str2);
| buffer.append(",");
| buffer.append("_Int1="+_Int1);
| buffer.append(",");
| buffer.append("_Int2="+_Int2);
| buffer.append(",");
| buffer.append("_Cal1="+_Cal1);
| buffer.append("}");
| return buffer.toString();
}
public boolean equals(java.lang.Object object) {
| if (object == null) return false;
| if (!(examples.Struct4.class.isAssignableFrom(object.getClass()))) return false;
| examples.Struct4 obj = (examples.Struct4) object;
|
| if (_Str1 == null) {
| | if (obj._Str1 != null) return false;
| } else if (!_Str1.equals(obj._Str1)) return false;
|
| if (_Str2 == null) {
| | if (obj._Str2 != null) return false;
| } else if (!_Str2.equals(obj._Str2)) return false;
|
| if (_Int1 == null) {
| | if (obj._Int1 != null) return false;
| } else if (!_Int1.equals(obj._Int1)) return false;
|
| if (_Int2 == null) {
| | if (obj._Int2 != null) return false;
| } else if (!_Int2.equals(obj._Int2)) return false;
|
| if (_Cal1 == null) {
| | if (obj._Cal1 != null) return false;
| } else if (!_Cal1.equals(obj._Cal1)) return false;
|
|
|
| return true;
}
public int hashCode() { return toString().hashCode(); }
}
// Generated from examples.xsd
// On Wed Jun 09 11:15:17 EDT 2004
package examples_olddb;
public class Struct4Marshaler
implements com.sssw.jbroker.web.encoding.Marshaler
{
// attributes
private static final javax.xml.namespace.QName _STR1 = new javax.xml.namespace.QName("http://www.structs.com", "str1");
private static final javax.xml.namespace.QName _STR2 = new javax.xml.namespace.QName("http://www.structs.com", "str2");
private static final javax.xml.namespace.QName _INT1 = new javax.xml.namespace.QName("http://www.structs.com", "int1");
private static final javax.xml.namespace.QName _INT2 = new javax.xml.namespace.QName("http://www.structs.com", "int2");
private static final javax.xml.namespace.QName _CAL1 = new javax.xml.namespace.QName("http://www.structs.com", "cal1");
// elements
public void serialize(com.sssw.jbroker.web.portable.OutputStream os, java.lang.Object object) throws java.io.IOException
{
| examples_olddb.Struct4 obj = (examples_olddb.Struct4) object;
}
public java.lang.Object deserialize(com.sssw.jbroker.web.portable.InputStream is, java.lang.Class javaType) throws java.io.IOException
{
| if (!examples_olddb.Struct4.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_olddb.Struct4 obj = null;
| try {
| | obj = (examples_olddb.Struct4) javaType.newInstance();
| } catch(Throwable e) {
| | throw new com.sssw.jbroker.web.ServiceException("error instantiating " + javaType.getName());
| }
| is.setObject(null, obj);
| deserializeAttributes(obj, attributes);
|
|
| 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_olddb.Struct4 obj = (examples_olddb.Struct4) object;
|
| if (obj.getStr1() != null) {
| | qname = new javax.xml.namespace.QName("", "str1");
| | attVal = java.lang.String.valueOf(obj.getStr1());
| | attr = new com.sssw.jbroker.web.encoding.Attribute(qname, attVal);
| | attribs.add(attr);
| }
|
| if (obj.getStr2() != null) {
| | qname = new javax.xml.namespace.QName("", "str2");
| | attVal = obj.getStr2();
| | if (attVal != null) throw new IllegalArgumentException("{http://www.structs.com}str2 attribute is prohibited");
| | attr = new com.sssw.jbroker.web.encoding.Attribute(qname, attVal);
| | attribs.add(attr);
| }
|
| if (obj.getInt1() != null) {
| | qname = new javax.xml.namespace.QName("", "int1");
| | attVal = java.lang.String.valueOf(obj.getInt1());
| | attr = new com.sssw.jbroker.web.encoding.Attribute(qname, attVal);
| | attribs.add(attr);
| }
|
| if (obj.getInt2() != null) {
| | qname = new javax.xml.namespace.QName("", "int2");
| | attVal = java.lang.String.valueOf(obj.getInt2());
| | attr = new com.sssw.jbroker.web.encoding.Attribute(qname, attVal);
| | attribs.add(attr);
| }
|
| if (obj.getCal1() != null) {
| | qname = new javax.xml.namespace.QName("", "cal1");
| | attVal = com.sssw.jbroker.web.xsd.mapping.CalendarMapping.serializeCalendar(obj.getCal1());
| | if (attVal == null) throw new IllegalArgumentException("{http://www.structs.com}cal1 attribute is required");
| | attr = new com.sssw.jbroker.web.encoding.Attribute(qname, attVal);
| | attribs.add(attr);
| }
|
| attrs = new com.sssw.jbroker.web.encoding.Attribute[attribs.size()];
| attribs.toArray(attrs);
| return attrs;
}
private void deserializeAttributes(examples_olddb.Struct4 obj, java.util.Map attributes)
throws java.io.IOException
{
| // set attributes
| java.lang.String attr = null;
|
| attr = (java.lang.String) attributes.get(_STR1);
| if (attr != null) {
| | attributes.remove(_STR1);
| | obj.setStr1(examples_olddb.Struct4Str1.fromString(attr));
| }
|
| attr = (java.lang.String) attributes.get(_STR2);
| if (attr != null) {
| | attributes.remove(_STR2);
| throw new IllegalArgumentException("{http://www.structs.com}str2 attribute is prohibited");}
|
| attr = (java.lang.String) attributes.get(_INT1);
| if (attr != null) {
| | attributes.remove(_INT1);
| | obj.setInt1(new java.lang.Integer(attr));
| }
|
| attr = (java.lang.String) attributes.get(_INT2);
| if (attr != null) {
| | attributes.remove(_INT2);
| | obj.setInt2(new java.lang.Integer(attr));
| }
|
| attr = (java.lang.String) attributes.get(_CAL1);
| if (attr != null) {
| | attributes.remove(_CAL1);
| | obj.setCal1(com.sssw.jbroker.web.xsd.mapping.CalendarMapping.deserializeCalendar(attr));
| } else throw new IllegalArgumentException("{http://www.structs.com}cal1 attribute is required");
}
private java.util.Map readAttributes(org.xml.sax.Attributes attributes) {
| java.util.Map attrs = new java.util.HashMap();
| attrs.put(_STR1, attributes.getValue("str1"));
| attrs.put(_STR2, attributes.getValue("str2"));
| attrs.put(_INT1, attributes.getValue("int1"));
| attrs.put(_INT2, attributes.getValue("int2"));
| attrs.put(_CAL1, attributes.getValue("cal1"));
| return attrs;
}
public java.lang.String getMechanismType() { return null; }
}
// Generated from examples.xsd
// On Wed Jun 09 11:15:17 EDT 2004
package examples_olddb;
public class Struct4Str1
implements java.io.Serializable
{
protected Struct4Str1(java.lang.String value) {
| _value = value;
}
public static final java.lang.String _air = "air";
public static final Struct4Str1 air = new Struct4Str1(_air);
public static final java.lang.String _groung = "groung";
public static final Struct4Str1 groung = new Struct4Str1(_groung);
public static final java.lang.String _any = "any";
public static final Struct4Str1 any = new Struct4Str1(_any);
public static examples_olddb.Struct4Str1 fromValue(java.lang.String value) {
| if (value == null) throw new java.lang.IllegalArgumentException("can not instantiate enumeration with null value");
| if (value.equals(_air)) return air;
| if (value.equals(_groung)) return groung;
| if (value.equals(_any)) return any;
| throw new java.lang.IllegalArgumentException(">"+value+"< not in enumeration");
}
public static examples_olddb.Struct4Str1 fromString(java.lang.String value) {
| if (value == null) throw new java.lang.IllegalArgumentException("can not instantiate enumeration with null value");
| if (value.equals("air")) return air;
| if (value.equals("groung")) return groung;
| if (value.equals("any")) return any;
| throw new java.lang.IllegalArgumentException(">"+value+"< not in enumeration");
}
private java.lang.String _value;
public java.lang.String getValue() {
| return _value;
}
public java.lang.String toString() { return _value.toString(); }
public boolean equals(java.lang.Object obj) {
| if (obj == null) return false;
| if (!(examples_olddb.Struct4Str1.class.isAssignableFrom(obj.getClass()))) return false;
| examples_olddb.Struct4Str1 object = (examples_olddb.Struct4Str1) obj;
| return object.getValue().equals(this.getValue());
}
public int hashCode() { return toString().hashCode(); }
}
// Generated from examples.xsd
// On Wed Jun 09 11:15:17 EDT 2004
package examples_olddb;
public class Struct4Str1Marshaler
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
{
| examples_olddb.Struct4Str1 obj = (examples_olddb.Struct4Str1) 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
{
| return examples_olddb.Struct4Str1.fromString(is.readContent());
}
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;
| return null;
}
public static void validate(java.lang.String val) {
}
public java.lang.String getMechanismType() { return null; }
}
| Copyright © 2000-2004, Novell, Inc. All rights reserved. |