1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package org.apache.juddi.handler;
17
18 import java.util.Vector;
19
20 import org.apache.juddi.datatype.RegistryObject;
21 import org.apache.juddi.datatype.binding.TModelInstanceDetails;
22 import org.apache.juddi.datatype.binding.TModelInstanceInfo;
23 import org.apache.juddi.util.xml.XMLUtils;
24 import org.w3c.dom.Element;
25
26 /***
27 * "Knows about the creation and populating of TModelInstanceDetails objects.
28 * Returns TModelInstanceDetails."
29 *
30 * @author Steve Viens (sviens@apache.org)
31 */
32 public class TModelInstanceDetailsHandler extends AbstractHandler
33 {
34 public static final String TAG_NAME = "tModelInstanceDetails";
35
36 private HandlerMaker maker = null;
37
38 protected TModelInstanceDetailsHandler(HandlerMaker maker)
39 {
40 this.maker = maker;
41 }
42
43 public RegistryObject unmarshal(Element element)
44 {
45 TModelInstanceDetails obj = new TModelInstanceDetails();
46 Vector nodeList = null;
47 AbstractHandler handler = null;
48
49
50
51
52
53
54
55
56 nodeList = XMLUtils.getChildElementsByTagName(element,TModelInstanceInfoHandler.TAG_NAME);
57 for (int i=0; i<nodeList.size(); i++)
58 {
59 handler = maker.lookup(TModelInstanceInfoHandler.TAG_NAME);
60 obj.addTModelInstanceInfo((TModelInstanceInfo)handler.unmarshal((Element)nodeList.elementAt(i)));
61 }
62
63 return obj;
64 }
65
66 public void marshal(RegistryObject object,Element parent)
67 {
68 TModelInstanceDetails details = (TModelInstanceDetails)object;
69 String generic = getGeneric(null);
70 String namespace = getUDDINamespace(generic);
71 Element element = parent.getOwnerDocument().createElementNS(namespace,TAG_NAME);
72 AbstractHandler handler = null;
73
74 Vector infoVector = details.getTModelInstanceInfoVector();
75 if ((infoVector!=null) && (infoVector.size() > 0))
76 {
77 handler = maker.lookup(TModelInstanceInfoHandler.TAG_NAME);
78 for (int i=0; i < infoVector.size(); i++)
79 handler.marshal((TModelInstanceInfo)infoVector.elementAt(i),element);
80 }
81
82 parent.appendChild(element);
83 }
84
85
86 /****************************************************************************/
87 /****************************** TEST DRIVER *********************************/
88 /****************************************************************************/
89
90
91 public static void main(String args[])
92 throws Exception
93 {
94 }
95 }