KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > objectweb > proactive > core > component > xml > TypesHandler


1 /*
2  * ################################################################
3  *
4  * ProActive: The Java(TM) library for Parallel, Distributed,
5  * Concurrent computing with Security and Mobility
6  *
7  * Copyright (C) 1997-2004 INRIA/University of Nice-Sophia Antipolis
8  * Contact: proactive-support@inria.fr
9  *
10  * This library is free software; you can redistribute it and/or
11  * modify it under the terms of the GNU Lesser General Public
12  * License as published by the Free Software Foundation; either
13  * version 2.1 of the License, or any later version.
14  *
15  * This library is distributed in the hope that it will be useful,
16  * but WITHOUT ANY WARRANTY; without even the implied warranty of
17  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
18  * Lesser General Public License for more details.
19  *
20  * You should have received a copy of the GNU Lesser General Public
21  * License along with this library; if not, write to the Free Software
22  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
23  * USA
24  *
25  * Initial developer(s): The ProActive Team
26  * http://www.inria.fr/oasis/ProActive/contacts.html
27  * Contributor(s):
28  *
29  * ################################################################
30  */

31 package org.objectweb.proactive.core.component.xml;
32
33 import org.objectweb.proactive.core.xml.handler.CollectionUnmarshaller;
34 import org.objectweb.proactive.core.xml.handler.UnmarshallerHandler;
35 import org.objectweb.proactive.core.xml.io.Attributes;
36
37 import org.xml.sax.SAXException JavaDoc;
38
39 import java.util.HashMap JavaDoc;
40
41
42 /**
43  * @author Matthieu Morel
44  */

45 public class TypesHandler extends CollectionUnmarshaller {
46     HashMap JavaDoc componentTypes;
47
48     public TypesHandler(HashMap JavaDoc componentTypes) {
49         this.componentTypes = componentTypes;
50         addHandler(ComponentsDescriptorConstants.COMPONENT_TYPE_TAG,
51             new ComponentTypeHandler());
52     }
53
54     /* (non-Javadoc)
55      * @see org.objectweb.proactive.core.xml.handler.AbstractUnmarshallerDecorator#notifyEndActiveHandler(java.lang.String, org.objectweb.proactive.core.xml.handler.UnmarshallerHandler)
56      */

57     protected void notifyEndActiveHandler(String JavaDoc name,
58         UnmarshallerHandler activeHandler) throws SAXException JavaDoc {
59         if (name.equals(ComponentsDescriptorConstants.COMPONENT_TYPE_TAG)) {
60             // the result object is a table with 2 elements : {name of the type, ComponentType instance}
61
Object JavaDoc[] component_type_info = (Object JavaDoc[]) getHandler(ComponentsDescriptorConstants.COMPONENT_TYPE_TAG)
62                                                           .getResultObject();
63             componentTypes.put(component_type_info[0], component_type_info[1]);
64             ((ComponentTypeHandler) activeHandler).reset();
65         }
66     }
67
68     /* (non-Javadoc)
69      * @see org.objectweb.proactive.core.xml.handler.UnmarshallerHandler#getResultObject()
70      */

71     public Object JavaDoc getResultObject() throws SAXException JavaDoc {
72         return null;
73     }
74
75     /* (non-Javadoc)
76      * @see org.objectweb.proactive.core.xml.handler.UnmarshallerHandler#startContextElement(java.lang.String, org.objectweb.proactive.core.xml.io.Attributes)
77      */

78     public void startContextElement(String JavaDoc name, Attributes attributes)
79         throws SAXException JavaDoc {
80     }
81 }
82
Popular Tags