1 8 9 package mx4j.tools.remote.soap.axis.ser; 10 11 import java.io.IOException ; 12 import javax.management.MBeanAttributeInfo ; 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 MBeanAttributeInfoSer extends AxisSerializer 25 { 26 static final String TYPE = "MBeanAttributeInfo"; 27 static final String NAME = "name"; 28 static final String CLASS_NAME = "type"; 29 static final String DESCRIPTION = "description"; 30 static final String IS_READABLE = "isReadable"; 31 static final String IS_WRITABLE = "isWritable"; 32 static final String IS_IS = "isIs"; 33 private static final QName NAME_QNAME = new QName ("", NAME); 34 private static final QName TYPE_QNAME = new QName ("", CLASS_NAME); 35 private static final QName DESCRIPTION_QNAME = new QName ("", DESCRIPTION); 36 private static final QName IS_READABLE_QNAME = new QName ("", IS_READABLE); 37 private static final QName IS_WRITABLE_QNAME = new QName ("", IS_WRITABLE); 38 private static final QName IS_IS_QNAME = new QName ("", IS_IS); 39 40 public void serialize(QName name, Attributes attributes, Object value, SerializationContext context) throws IOException 41 { 42 MBeanAttributeInfo info = (MBeanAttributeInfo )value; 43 context.startElement(name, attributes); 44 context.serialize(NAME_QNAME, null, info.getName()); 45 context.serialize(TYPE_QNAME, null, info.getType()); 46 context.serialize(DESCRIPTION_QNAME, null, info.getDescription()); 47 context.serialize(IS_READABLE_QNAME, null, info.isReadable() ? Boolean.TRUE : Boolean.FALSE); 48 context.serialize(IS_WRITABLE_QNAME, null, info.isWritable() ? Boolean.TRUE : Boolean.FALSE); 49 context.serialize(IS_IS_QNAME, null, info.isIs() ? Boolean.TRUE : Boolean.FALSE); 50 context.endElement(); 51 } 52 53 public Element writeSchema(Class aClass, Types types) throws Exception 54 { 55 Element complexType = types.createElement(SCHEMA_COMPLEX_TYPE); 56 complexType.setAttribute("name", TYPE); 57 Element allElement = types.createElement(SCHEMA_ALL); 58 complexType.appendChild(allElement); 59 60 Element nameElement = types.createElement(SCHEMA_ELEMENT); 61 nameElement.setAttribute("name", NAME); 62 nameElement.setAttribute("type", XMLType.XSD_STRING.getLocalPart()); 63 allElement.appendChild(nameElement); 64 65 Element typeElement = types.createElement(SCHEMA_ELEMENT); 66 typeElement.setAttribute("name", CLASS_NAME); 67 typeElement.setAttribute("type", XMLType.XSD_STRING.getLocalPart()); 68 allElement.appendChild(typeElement); 69 70 Element descrElement = types.createElement(SCHEMA_ELEMENT); 71 descrElement.setAttribute("name", DESCRIPTION); 72 descrElement.setAttribute("type", XMLType.XSD_STRING.getLocalPart()); 73 allElement.appendChild(descrElement); 74 75 Element readableElement = types.createElement(SCHEMA_ELEMENT); 76 readableElement.setAttribute("name", IS_READABLE); 77 readableElement.setAttribute("type", XMLType.XSD_BOOLEAN.getLocalPart()); 78 allElement.appendChild(readableElement); 79 80 Element writableElement = types.createElement(SCHEMA_ELEMENT); 81 writableElement.setAttribute("name", IS_WRITABLE); 82 writableElement.setAttribute("type", XMLType.XSD_BOOLEAN.getLocalPart()); 83 allElement.appendChild(writableElement); 84 85 Element isElement = types.createElement(SCHEMA_ELEMENT); 86 isElement.setAttribute("name", IS_IS); 87 isElement.setAttribute("type", XMLType.XSD_BOOLEAN.getLocalPart()); 88 allElement.appendChild(isElement); 89 90 return complexType; 91 } 92 } 93 | Popular Tags |