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. |