KickJava   Java API By Example, From Geeks To Geeks.

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


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 java.util.Iterator JavaDoc;
13 import javax.management.relation.RelationTypeSupport JavaDoc;
14 import javax.xml.namespace.QName JavaDoc;
15
16 import org.apache.axis.Constants;
17 import org.apache.axis.encoding.SerializationContext;
18 import org.apache.axis.encoding.XMLType;
19 import org.apache.axis.wsdl.fromJava.Types;
20 import org.w3c.dom.Element JavaDoc;
21 import org.xml.sax.Attributes JavaDoc;
22
23 /**
24  * @version $Revision: 1.3 $
25  */

26 public class RelationTypeSupportSer extends AxisSerializer
27 {
28    static final String JavaDoc TYPE = "RelationTypeSupport";
29    static final String JavaDoc NAME = "name";
30    static final String JavaDoc ROLE_INFOS = "roleInfos";
31
32    private static final QName JavaDoc NAME_QNAME = new QName JavaDoc("", NAME);
33    private static final QName JavaDoc ROLE_INFOS_QNAME = new QName JavaDoc("", ROLE_INFOS);
34
35    public void serialize(QName JavaDoc name, Attributes JavaDoc attributes, Object JavaDoc value, SerializationContext context) throws IOException JavaDoc
36    {
37       RelationTypeSupport JavaDoc relTypeSup = (RelationTypeSupport JavaDoc)value;
38       context.startElement(name, attributes);
39       context.serialize(NAME_QNAME, null, relTypeSup.getRelationTypeName());
40       for (Iterator JavaDoc i = relTypeSup.getRoleInfos().iterator(); i.hasNext();)
41       {
42          context.serialize(Constants.QNAME_LITERAL_ITEM, null, i.next());
43       }
44       context.endElement();
45    }
46
47    public Element JavaDoc writeSchema(Class JavaDoc javaType, Types types) throws Exception JavaDoc
48    {
49       Element JavaDoc complexType = types.createElement(SCHEMA_COMPLEX_TYPE);
50       complexType.setAttribute("name", TYPE);
51       Element JavaDoc allElement = types.createElement(SCHEMA_ALL);
52       complexType.appendChild(allElement);
53
54       Element JavaDoc nameElement = types.createElement(SCHEMA_ELEMENT);
55       nameElement.setAttribute("name", NAME);
56       nameElement.setAttribute("type", XMLType.XSD_STRING.getLocalPart());
57       allElement.appendChild(nameElement);
58
59       types.writeSchemaElement(Constants.SOAP_VECTOR, complexType);
60       Element JavaDoc sequence = types.createElement(SCHEMA_SEQUENCE);
61       complexType.appendChild(sequence);
62       Element JavaDoc element = types.createElement(SCHEMA_ELEMENT);
63       element.setAttribute("name", Constants.QNAME_LITERAL_ITEM.getLocalPart());
64       element.setAttribute("minOccurs", "0");
65       element.setAttribute("maxOccurs", "unbounded");
66       element.setAttribute("type", RoleInfoSer.TYPE);
67       sequence.appendChild(element);
68
69       return complexType;
70    }
71
72 }
73
Popular Tags