1 8 9 package mx4j.tools.remote.soap.axis.ser; 10 11 import java.io.IOException ; 12 import javax.management.relation.RoleInfo ; 13 import javax.xml.namespace.QName ; 14 15 import org.apache.axis.encoding.SerializationContext; 16 import org.apache.axis.encoding.XMLType; 17 import org.apache.axis.wsdl.fromJava.Types; 18 import org.w3c.dom.Element ; 19 import org.xml.sax.Attributes ; 20 21 24 public class RoleInfoSer extends AxisSerializer 25 { 26 static final String TYPE = "RoleInfo"; 27 static final String MAX_DEGREE = "maxDegree"; 28 static final String MIN_DEGREE = "minDegree"; 29 static final String NAME = "name"; 30 static final String DESCRIPTION = "description"; 31 static final String REF_MBEAN_CLASS_NAME = "refMBeanClassName"; 32 static final String READABLE = "readable"; 33 static final String WRITEABLE = "writeable"; 34 35 private static final QName MAX_DEGREE_QNAME = new QName ("", MAX_DEGREE); 36 private static final QName MIN_DEGREE_QNAME = new QName ("", MIN_DEGREE); 37 private static final QName NAME_QNAME = new QName ("", NAME); 38 private static final QName DESCRIPTION_QNAME = new QName ("", DESCRIPTION); 39 private static final QName REF_MBEAN_CLASS_NAME_QNAME = new QName ("", REF_MBEAN_CLASS_NAME); 40 private static final QName READABLE_QNAME = new QName ("", READABLE); 41 private static final QName WRITABLE_QNAME = new QName ("", WRITEABLE); 42 43 public void serialize(QName name, Attributes attributes, Object value, SerializationContext context) throws IOException 44 { 45 RoleInfo roleInfo = (RoleInfo )value; 46 context.startElement(name, attributes); 47 context.serialize(MAX_DEGREE_QNAME, null, new Integer (roleInfo.getMaxDegree())); 48 context.serialize(MIN_DEGREE_QNAME, null, new Integer (roleInfo.getMaxDegree())); 49 context.serialize(NAME_QNAME, null, roleInfo.getName()); 50 context.serialize(DESCRIPTION_QNAME, null, roleInfo.getDescription()); 51 context.serialize(REF_MBEAN_CLASS_NAME_QNAME, null, roleInfo.getRefMBeanClassName()); 52 context.serialize(READABLE_QNAME, null, roleInfo.isReadable() ? Boolean.TRUE : Boolean.FALSE); 53 context.serialize(WRITABLE_QNAME, null, roleInfo.isWritable() ? Boolean.TRUE : Boolean.FALSE); 54 context.endElement(); 55 } 56 57 public Element writeSchema(Class javaType, Types types) throws Exception 58 { 59 Element complexType = types.createElement(SCHEMA_COMPLEX_TYPE); 60 complexType.setAttribute("name", TYPE); 61 Element allElement = types.createElement(SCHEMA_ALL); 62 complexType.appendChild(allElement); 63 64 Element maxDegreeElement = types.createElement(SCHEMA_ELEMENT); 65 maxDegreeElement.setAttribute("name", MAX_DEGREE); 66 maxDegreeElement.setAttribute("type", XMLType.XSD_INT.getLocalPart()); 67 allElement.appendChild(maxDegreeElement); 68 69 Element minDegreeElement = types.createElement(SCHEMA_ELEMENT); 70 minDegreeElement.setAttribute("name", MIN_DEGREE); 71 minDegreeElement.setAttribute("type", XMLType.XSD_INT.getLocalPart()); 72 allElement.appendChild(minDegreeElement); 73 74 Element nameElement = types.createElement(SCHEMA_ELEMENT); 75 nameElement.setAttribute("name", NAME); 76 nameElement.setAttribute("type", XMLType.XSD_STRING.getLocalPart()); 77 allElement.appendChild(nameElement); 78 79 Element descriptionElement = types.createElement(SCHEMA_ELEMENT); 80 descriptionElement.setAttribute("name", DESCRIPTION); 81 descriptionElement.setAttribute("type", XMLType.XSD_STRING.getLocalPart()); 82 allElement.appendChild(descriptionElement); 83 84 Element refMBeanClassNameElement = types.createElement(SCHEMA_ELEMENT); 85 refMBeanClassNameElement.setAttribute("name", REF_MBEAN_CLASS_NAME); 86 refMBeanClassNameElement.setAttribute("type", XMLType.XSD_STRING.getLocalPart()); 87 allElement.appendChild(refMBeanClassNameElement); 88 89 Element readableElement = types.createElement(SCHEMA_ELEMENT); 90 readableElement.setAttribute("name", READABLE); 91 readableElement.setAttribute("type", XMLType.XSD_BOOLEAN.getLocalPart()); 92 allElement.appendChild(readableElement); 93 94 Element writeableElement = types.createElement(SCHEMA_ELEMENT); 95 writeableElement.setAttribute("name", WRITEABLE); 96 writeableElement.setAttribute("type", XMLType.XSD_BOOLEAN.getLocalPart()); 97 allElement.appendChild(writeableElement); 98 99 return complexType; 100 } 101 102 } 103 | Popular Tags |