KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > mx4j > tools > remote > soap > axis > ser > MBeanAttributeInfoSer


1 /*
2  * Copyright (C) The MX4J Contributors.
3  * All rights reserved.
4  *
5  * This software is distributed under the terms of the MX4J License version 1.0.
6  * See the terms of the MX4J License in the documentation provided with this software.
7  */

8
9 package mx4j.tools.remote.soap.axis.ser;
10
11 import java.io.IOException JavaDoc;
12 import javax.management.MBeanAttributeInfo JavaDoc;
13 import javax.xml.namespace.QName JavaDoc;
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 JavaDoc;
19 import org.xml.sax.Attributes JavaDoc;
20
21 /**
22  * @version $Revision: 1.5 $
23  */

24 public class MBeanAttributeInfoSer extends AxisSerializer
25 {
26    static final String JavaDoc TYPE = "MBeanAttributeInfo";
27    static final String JavaDoc NAME = "name";
28    static final String JavaDoc CLASS_NAME = "type";
29    static final String JavaDoc DESCRIPTION = "description";
30    static final String JavaDoc IS_READABLE = "isReadable";
31    static final String JavaDoc IS_WRITABLE = "isWritable";
32    static final String JavaDoc IS_IS = "isIs";
33    private static final QName JavaDoc NAME_QNAME = new QName JavaDoc("", NAME);
34    private static final QName JavaDoc TYPE_QNAME = new QName JavaDoc("", CLASS_NAME);
35    private static final QName JavaDoc DESCRIPTION_QNAME = new QName JavaDoc("", DESCRIPTION);
36    private static final QName JavaDoc IS_READABLE_QNAME = new QName JavaDoc("", IS_READABLE);
37    private static final QName JavaDoc IS_WRITABLE_QNAME = new QName JavaDoc("", IS_WRITABLE);
38    private static final QName JavaDoc IS_IS_QNAME = new QName JavaDoc("", IS_IS);
39
40    public void serialize(QName JavaDoc name, Attributes JavaDoc attributes, Object JavaDoc value, SerializationContext context) throws IOException JavaDoc
41    {
42       MBeanAttributeInfo JavaDoc info = (MBeanAttributeInfo JavaDoc)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 JavaDoc writeSchema(Class JavaDoc aClass, Types types) throws Exception JavaDoc
54    {
55       Element JavaDoc complexType = types.createElement(SCHEMA_COMPLEX_TYPE);
56       complexType.setAttribute("name", TYPE);
57       Element JavaDoc allElement = types.createElement(SCHEMA_ALL);
58       complexType.appendChild(allElement);
59
60       Element JavaDoc 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 JavaDoc 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 JavaDoc 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 JavaDoc 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 JavaDoc 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 JavaDoc 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