KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > jboss > net > jmx > adaptor > MBeanParameterInfoDeser


1 /*
2  * JBoss, the OpenSource J2EE webOS
3  *
4  * Distributable under LGPL license.
5  * See terms of license at gnu.org.
6  */

7
8 // $Id: MBeanParameterInfoDeser.java,v 1.5.6.1 2005/03/02 14:19:55 tdiesler Exp $
9

10 package org.jboss.net.jmx.adaptor;
11
12 import org.jboss.axis.encoding.DeserializationContext;
13 import org.jboss.axis.encoding.Deserializer;
14 import org.jboss.axis.encoding.DeserializerImpl;
15 import org.jboss.axis.encoding.DeserializerTarget;
16 import org.jboss.axis.message.SOAPHandler;
17 import org.xml.sax.Attributes JavaDoc;
18 import org.xml.sax.SAXException JavaDoc;
19
20 import javax.management.MBeanParameterInfo JavaDoc;
21 import javax.xml.namespace.QName JavaDoc;
22
23 /**
24  * An <code>MBeanParameterInfoDeser</code> is be used to deserialize
25  * MBeanParameterInfo using the <code>SOAP-ENC</code>
26  * encoding style.<p>
27  *
28  * @author <a HREF="mailto:a_taherkordi@users.sourceforge.net">Alireza Taherkordi</a>
29  * @version $Revision: 1.5.6.1 $
30  */

31 public class MBeanParameterInfoDeser extends DeserializerImpl
32 {
33
34    private String JavaDoc name;
35    private String JavaDoc type;
36    private String JavaDoc description;
37
38    public void onStartElement(String JavaDoc namespace, String JavaDoc localName,
39                               String JavaDoc prefix, Attributes JavaDoc attributes,
40                               DeserializationContext context)
41            throws SAXException JavaDoc
42    {
43
44       if (context.isNil(attributes))
45       {
46          return;
47       }
48
49       //nothing to do
50

51    }
52
53    public SOAPHandler onStartChild(String JavaDoc namespace,
54                                    String JavaDoc localName,
55                                    String JavaDoc prefix,
56                                    Attributes JavaDoc attributes,
57                                    DeserializationContext context)
58            throws SAXException JavaDoc
59    {
60
61
62       // Get the type
63
QName JavaDoc itemType = context.getTypeFromAttributes(namespace,
64               localName,
65               attributes);
66       // Get the deserializer
67
Deserializer dSer = null;
68       if (itemType != null)
69       {
70          dSer = context.getDeserializerForType(itemType);
71       }
72       if (dSer == null)
73       {
74          dSer = new DeserializerImpl();
75       }
76
77       // When the value is deserialized, inform us.
78
// Need to pass the localName as a hint
79
dSer.registerValueTarget(new DeserializerTarget(this, localName));
80
81       addChildDeserializer(dSer);
82
83       return (SOAPHandler)dSer;
84    }
85
86    public void setChildValue(Object JavaDoc value, Object JavaDoc hint) throws SAXException JavaDoc
87    {
88       if (hint.equals("name"))
89          name = (String JavaDoc)value;
90       else if (hint.equals("type"))
91          type = (String JavaDoc)value;
92       else if (hint.equals("description"))
93          description = (String JavaDoc)value;
94
95    }
96
97    public void onEndElement(String JavaDoc s, String JavaDoc s1, DeserializationContext deserializationcontext)
98    {
99       try
100       {
101          super.value = new MBeanParameterInfo JavaDoc(name, type, description);
102       }
103       catch (Exception JavaDoc exception)
104       {
105          exception.printStackTrace();
106       }
107    }
108
109
110 }
111
112
Popular Tags