|
|||||||||||||||||||
Source file | Conditionals | Statements | Methods | TOTAL | |||||||||||||||
ObjectTagHandler.java | - | 90,9% | 100% | 92,9% |
|
1 |
/**
|
|
2 |
* Java Gui Builder - A library to build GUIs using an XML file.
|
|
3 |
* Copyright 2002, 2003 (C) François Beausoleil
|
|
4 |
*
|
|
5 |
* This library is free software; you can redistribute it and/or
|
|
6 |
* modify it under the terms of the GNU Lesser General Public
|
|
7 |
* License as published by the Free Software Foundation; either
|
|
8 |
* version 2.1 of the License, or (at your option) any later version.
|
|
9 |
*
|
|
10 |
* This library is distributed in the hope that it will be useful,
|
|
11 |
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
12 |
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
13 |
* Lesser General Public License for more details.
|
|
14 |
*
|
|
15 |
* You should have received a copy of the GNU Lesser General Public
|
|
16 |
* License along with this library; if not, write to the Free Software
|
|
17 |
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
|
18 |
*/
|
|
19 |
|
|
20 |
package jgb.handlers.swing;
|
|
21 |
|
|
22 |
|
|
23 |
import jgb.builder.TagHandler;
|
|
24 |
import jgb.builder.utils.ConstructorCall;
|
|
25 |
import org.xml.sax.SAXException;
|
|
26 |
|
|
27 |
import java.util.Map;
|
|
28 |
|
|
29 |
/**
|
|
30 |
* @since 0.1a
|
|
31 |
* @author Francois Beausoleil, <a href="mailto:fbos@users.sourceforge.net">fbos@users.sourceforge.net</a>
|
|
32 |
*/
|
|
33 |
public class ObjectTagHandler extends AbstractTagHandler { |
|
34 | 15 |
public void enterElement(Map atts) throws SAXException { |
35 | 15 |
tagContext.put(TagHandler.CURRENT_OBJECT_ID_KEY, (String)atts.get(ATTR_ID)); |
36 |
|
|
37 | 15 |
String className = (String)atts.get(ATTR_CLASS); |
38 | 15 |
try {
|
39 | 15 |
createConstructorCall(className, tagContext); |
40 |
} catch (ClassNotFoundException e) {
|
|
41 | 0 |
throwParsingException("declared class not found", e);
|
42 |
} |
|
43 |
|
|
44 | 15 |
tagContext.put(TagHandler.CURRENT_OBJECT_KEY, null);
|
45 |
} |
|
46 |
|
|
47 | 12 |
public void exitElement() throws SAXException { |
48 | 12 |
Map objects = (Map)tagContext.get(TagHandler.OBJECTS_MAP_KEY); |
49 | 12 |
objects.put(tagContext.get(TagHandler.CURRENT_OBJECT_ID_KEY), tagContext.get(TagHandler.CURRENT_OBJECT_KEY)); |
50 |
|
|
51 | 12 |
popCurrentObject(); |
52 |
} |
|
53 |
|
|
54 | 15 |
protected void createConstructorCall(String className, Map tagContext) throws ClassNotFoundException { |
55 | 15 |
ConstructorCall ctorCall = new ConstructorCall(className);
|
56 | 15 |
tagContext.put(TagHandler.CURRENT_PARM_ACC_KEY, ctorCall); |
57 |
} |
|
58 |
} |
|
59 |
|
|