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:17 EDT 2004
package examples_olddb;
public class Struct4
implements java.io.Serializable
{
public Struct4() {}
public Struct4(examples_olddb.Struct4Str1 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_olddb.Struct4Str1 _str1;
public examples_olddb.Struct4Str1 getStr1() {
| return _str1;
}
public void setStr1(examples_olddb.Struct4Str1 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_olddb.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_olddb.Struct4.class.isAssignableFrom(object.getClass()))) return false;
| examples_olddb.Struct4 obj = (examples_olddb.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 © 2003, 2004 Novell, Inc. All rights reserved. Copyright © 2001, 2002, 2003 SilverStream Software, LLC. All rights reserved.