|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ParserHandler | Line # 36 | 56 | 30 | 77,6% |
0.7757009
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||
(92) | |||
Result | |||
0.7757009
|
org.qedeq.kernel.bo.parser.LatexMathParserTest.testReadMaximalTerm09 org.qedeq.kernel.bo.parser.LatexMathParserTest.testReadMaximalTerm09 | 1 PASS | |
0.7757009
|
org.qedeq.kernel.bo.parser.LatexMathParserTest.testReadMaximalTerm03 org.qedeq.kernel.bo.parser.LatexMathParserTest.testReadMaximalTerm03 | 1 PASS | |
0.7757009
|
org.qedeq.kernel.bo.parser.LatexMathParserTest.testReadMaximalTerm02 org.qedeq.kernel.bo.parser.LatexMathParserTest.testReadMaximalTerm02 | 1 PASS | |
0.7757009
|
org.qedeq.kernel.bo.parser.LatexMathParserTest.testReadMaximalTerm07 org.qedeq.kernel.bo.parser.LatexMathParserTest.testReadMaximalTerm07 | 1 PASS | |
0.7757009
|
org.qedeq.kernel.bo.parser.LatexMathParserTest.testReadMaximalTerm05 org.qedeq.kernel.bo.parser.LatexMathParserTest.testReadMaximalTerm05 | 1 PASS | |
0.7757009
|
org.qedeq.kernel.bo.parser.AbstractParserTest.testAllTogether org.qedeq.kernel.bo.parser.AbstractParserTest.testAllTogether | 1 PASS | |
0.7757009
|
org.qedeq.kernel.bo.parser.LatexMathParserTest.testReadMaximalTerm00 org.qedeq.kernel.bo.parser.LatexMathParserTest.testReadMaximalTerm00 | 1 PASS | |
0.7757009
|
org.qedeq.kernel.bo.parser.LatexMathParserTest.testReadMaximalTerm01 org.qedeq.kernel.bo.parser.LatexMathParserTest.testReadMaximalTerm01 | 1 PASS | |
0.7757009
|
org.qedeq.kernel.bo.parser.LatexMathParserTest.testReadMaximalTerm04 org.qedeq.kernel.bo.parser.LatexMathParserTest.testReadMaximalTerm04 | 1 PASS | |
0.7757009
|
org.qedeq.kernel.bo.parser.LatexMathParserTest.testReadMaximalTerm08 org.qedeq.kernel.bo.parser.LatexMathParserTest.testReadMaximalTerm08 | 1 PASS | |
0.7757009
|
org.qedeq.kernel.bo.parser.LatexMathParserTest.testReadMaximalTerm06 org.qedeq.kernel.bo.parser.LatexMathParserTest.testReadMaximalTerm06 | 1 PASS | |
0.7383177
|
org.qedeq.kernel.bo.parser.SimpleMathParserTest.testReadMaximalTerm17 org.qedeq.kernel.bo.parser.SimpleMathParserTest.testReadMaximalTerm17 | 1 PASS | |
0.7383177
|
org.qedeq.kernel.bo.parser.SimpleMathParserTest.testReadMaximalTerm04 org.qedeq.kernel.bo.parser.SimpleMathParserTest.testReadMaximalTerm04 | 1 PASS | |
0.7383177
|
org.qedeq.kernel.bo.parser.AsciiMathParserTest.testReadMaximalTerm41 org.qedeq.kernel.bo.parser.AsciiMathParserTest.testReadMaximalTerm41 | 1 PASS | |
0.7383177
|
org.qedeq.kernel.bo.parser.SimpleMathParserTest.testReadMaximalTerm19 org.qedeq.kernel.bo.parser.SimpleMathParserTest.testReadMaximalTerm19 | 1 PASS | |
0.7383177
|
org.qedeq.kernel.bo.parser.AsciiMathParserTest.testReadMaximalTerm48 org.qedeq.kernel.bo.parser.AsciiMathParserTest.testReadMaximalTerm48 | 1 PASS | |
0.7383177
|
org.qedeq.kernel.bo.parser.SimpleMathParserTest.testReadMaximalTerm14 org.qedeq.kernel.bo.parser.SimpleMathParserTest.testReadMaximalTerm14 | 1 PASS | |
0.7383177
|
org.qedeq.kernel.bo.parser.AsciiMathParserTest.testReadMaximalTerm38 org.qedeq.kernel.bo.parser.AsciiMathParserTest.testReadMaximalTerm38 | 1 PASS | |
0.7383177
|
org.qedeq.kernel.bo.parser.AsciiMathParserTest.testReadMaximalTerm23 org.qedeq.kernel.bo.parser.AsciiMathParserTest.testReadMaximalTerm23 | 1 PASS | |
0.7383177
|
org.qedeq.kernel.bo.parser.AsciiMathParserTest.testReadMaximalTerm37 org.qedeq.kernel.bo.parser.AsciiMathParserTest.testReadMaximalTerm37 | 1 PASS | |
0.7383177
|
org.qedeq.kernel.bo.parser.SimpleMathParserTest.testReadMaximalTerm24 org.qedeq.kernel.bo.parser.SimpleMathParserTest.testReadMaximalTerm24 | 1 PASS | |
0.7383177
|
org.qedeq.kernel.bo.parser.SimpleMathParserTest.testReadMaximalTerm21 org.qedeq.kernel.bo.parser.SimpleMathParserTest.testReadMaximalTerm21 | 1 PASS | |
0.7383177
|
org.qedeq.kernel.bo.parser.AsciiMathParserTest.testReadMaximalTerm47 org.qedeq.kernel.bo.parser.AsciiMathParserTest.testReadMaximalTerm47 | 1 PASS | |
0.7383177
|
org.qedeq.kernel.bo.parser.AsciiMathParserTest.testReadMaximalTerm07 org.qedeq.kernel.bo.parser.AsciiMathParserTest.testReadMaximalTerm07 | 1 PASS | |
0.7383177
|
org.qedeq.kernel.bo.parser.SimpleMathParserTest.testReadMaximalTerm03 org.qedeq.kernel.bo.parser.SimpleMathParserTest.testReadMaximalTerm03 | 1 PASS | |
0.7383177
|
org.qedeq.kernel.bo.parser.AsciiMathParserTest.testReadMaximalTerm34 org.qedeq.kernel.bo.parser.AsciiMathParserTest.testReadMaximalTerm34 | 1 PASS | |
0.7383177
|
org.qedeq.kernel.bo.parser.AsciiMathParserTest.testReadMaximalTerm35 org.qedeq.kernel.bo.parser.AsciiMathParserTest.testReadMaximalTerm35 | 1 PASS | |
0.7383177
|
org.qedeq.kernel.bo.parser.SimpleMathParserTest.testReadMaximalTerm13 org.qedeq.kernel.bo.parser.SimpleMathParserTest.testReadMaximalTerm13 | 1 PASS | |
0.7383177
|
org.qedeq.kernel.bo.parser.SimpleMathParserTest.testReadMaximalTerm07 org.qedeq.kernel.bo.parser.SimpleMathParserTest.testReadMaximalTerm07 | 1 PASS | |
0.7383177
|
org.qedeq.kernel.bo.parser.AsciiMathParserTest.testReadMaximalTerm46 org.qedeq.kernel.bo.parser.AsciiMathParserTest.testReadMaximalTerm46 | 1 PASS | |
0.7383177
|
org.qedeq.kernel.bo.parser.AsciiMathParserTest.testReadMaximalTerm15 org.qedeq.kernel.bo.parser.AsciiMathParserTest.testReadMaximalTerm15 | 1 PASS | |
0.7383177
|
org.qedeq.kernel.bo.parser.AsciiMathParserTest.testReadMaximalTerm01 org.qedeq.kernel.bo.parser.AsciiMathParserTest.testReadMaximalTerm01 | 1 PASS | |
0.7383177
|
org.qedeq.kernel.bo.parser.AsciiMathParserTest.testReadMaximalTerm50 org.qedeq.kernel.bo.parser.AsciiMathParserTest.testReadMaximalTerm50 | 1 PASS | |
0.7383177
|
org.qedeq.kernel.bo.parser.AsciiMathParserTest.testReadMaximalTerm43 org.qedeq.kernel.bo.parser.AsciiMathParserTest.testReadMaximalTerm43 | 1 PASS | |
0.7383177
|
org.qedeq.kernel.bo.parser.AsciiMathParserTest.testReadMaximalTerm49 org.qedeq.kernel.bo.parser.AsciiMathParserTest.testReadMaximalTerm49 | 1 PASS | |
0.7383177
|
org.qedeq.kernel.bo.parser.AsciiMathParserTest.testReadMaximalTerm44 org.qedeq.kernel.bo.parser.AsciiMathParserTest.testReadMaximalTerm44 | 1 PASS | |
0.7383177
|
org.qedeq.kernel.bo.parser.AsciiMathParserTest.testReadMaximalTerm05 org.qedeq.kernel.bo.parser.AsciiMathParserTest.testReadMaximalTerm05 | 1 PASS | |
0.7383177
|
org.qedeq.kernel.bo.parser.AsciiMathParserTest.testReadMaximalTerm30 org.qedeq.kernel.bo.parser.AsciiMathParserTest.testReadMaximalTerm30 | 1 PASS | |
0.7383177
|
org.qedeq.kernel.bo.parser.AsciiMathParserTest.testReadMaximalTerm06 org.qedeq.kernel.bo.parser.AsciiMathParserTest.testReadMaximalTerm06 | 1 PASS | |
0.7383177
|
org.qedeq.kernel.bo.parser.SimpleMathParserTest.testReadMaximalTerm11 org.qedeq.kernel.bo.parser.SimpleMathParserTest.testReadMaximalTerm11 | 1 PASS | |
0.7383177
|
org.qedeq.kernel.bo.parser.AsciiMathParserTest.testReadMaximalTerm22 org.qedeq.kernel.bo.parser.AsciiMathParserTest.testReadMaximalTerm22 | 1 PASS | |
0.7383177
|
org.qedeq.kernel.bo.parser.SimpleMathParserTest.testReadMaximalTerm18 org.qedeq.kernel.bo.parser.SimpleMathParserTest.testReadMaximalTerm18 | 1 PASS | |
0.7383177
|
org.qedeq.kernel.bo.parser.AsciiMathParserTest.testReadMaximalTerm12 org.qedeq.kernel.bo.parser.AsciiMathParserTest.testReadMaximalTerm12 | 1 PASS | |
0.7383177
|
org.qedeq.kernel.bo.parser.AsciiMathParserTest.testReadMaximalTerm16 org.qedeq.kernel.bo.parser.AsciiMathParserTest.testReadMaximalTerm16 | 1 PASS | |
0.7383177
|
org.qedeq.kernel.bo.parser.AsciiMathParserTest.testReadMaximalTerm33 org.qedeq.kernel.bo.parser.AsciiMathParserTest.testReadMaximalTerm33 | 1 PASS | |
0.7383177
|
org.qedeq.kernel.bo.parser.AsciiMathParserTest.testReadMaximalTerm39 org.qedeq.kernel.bo.parser.AsciiMathParserTest.testReadMaximalTerm39 | 1 PASS | |
0.7383177
|
org.qedeq.kernel.bo.parser.SimpleMathParserTest.testReadMaximalTerm23 org.qedeq.kernel.bo.parser.SimpleMathParserTest.testReadMaximalTerm23 | 1 PASS | |
0.7383177
|
org.qedeq.kernel.bo.parser.SimpleMathParserTest.testReadMaximalTerm08 org.qedeq.kernel.bo.parser.SimpleMathParserTest.testReadMaximalTerm08 | 1 PASS | |
0.7383177
|
org.qedeq.kernel.bo.parser.SimpleMathParserTest.testReadMaximalTerm26 org.qedeq.kernel.bo.parser.SimpleMathParserTest.testReadMaximalTerm26 | 1 PASS | |
0.7383177
|
org.qedeq.kernel.bo.parser.AsciiMathParserTest.testReadMaximalTerm40 org.qedeq.kernel.bo.parser.AsciiMathParserTest.testReadMaximalTerm40 | 1 PASS | |
0.7383177
|
org.qedeq.kernel.bo.parser.AsciiMathParserTest.testReadMaximalTerm32 org.qedeq.kernel.bo.parser.AsciiMathParserTest.testReadMaximalTerm32 | 1 PASS | |
0.7383177
|
org.qedeq.kernel.bo.parser.AsciiMathParserTest.testReadMaximalTerm24 org.qedeq.kernel.bo.parser.AsciiMathParserTest.testReadMaximalTerm24 | 1 PASS | |
0.7383177
|
org.qedeq.kernel.bo.parser.SimpleMathParserTest.testReadMaximalTerm01 org.qedeq.kernel.bo.parser.SimpleMathParserTest.testReadMaximalTerm01 | 1 PASS | |
0.7383177
|
org.qedeq.kernel.bo.parser.AsciiMathParserTest.testReadMaximalTerm28 org.qedeq.kernel.bo.parser.AsciiMathParserTest.testReadMaximalTerm28 | 1 PASS | |
0.7383177
|
org.qedeq.kernel.bo.parser.AsciiMathParserTest.testReadMaximalTerm11 org.qedeq.kernel.bo.parser.AsciiMathParserTest.testReadMaximalTerm11 | 1 PASS | |
0.7383177
|
org.qedeq.kernel.bo.parser.AsciiMathParserTest.testReadMaximalTerm17 org.qedeq.kernel.bo.parser.AsciiMathParserTest.testReadMaximalTerm17 | 1 PASS | |
0.7383177
|
org.qedeq.kernel.bo.parser.AsciiMathParserTest.testReadMaximalTerm08 org.qedeq.kernel.bo.parser.AsciiMathParserTest.testReadMaximalTerm08 | 1 PASS | |
0.7383177
|
org.qedeq.kernel.bo.parser.SimpleMathParserTest.testReadMaximalTerm28 org.qedeq.kernel.bo.parser.SimpleMathParserTest.testReadMaximalTerm28 | 1 PASS | |
0.7383177
|
org.qedeq.kernel.bo.parser.SimpleMathParserTest.testReadMaximalTerm10 org.qedeq.kernel.bo.parser.SimpleMathParserTest.testReadMaximalTerm10 | 1 PASS | |
0.7383177
|
org.qedeq.kernel.bo.parser.AsciiMathParserTest.testReadMaximalTerm29 org.qedeq.kernel.bo.parser.AsciiMathParserTest.testReadMaximalTerm29 | 1 PASS | |
0.7383177
|
org.qedeq.kernel.bo.parser.SimpleMathParserTest.testReadMaximalTerm05 org.qedeq.kernel.bo.parser.SimpleMathParserTest.testReadMaximalTerm05 | 1 PASS | |
0.7383177
|
org.qedeq.kernel.bo.parser.AsciiMathParserTest.testReadMaximalTerm04 org.qedeq.kernel.bo.parser.AsciiMathParserTest.testReadMaximalTerm04 | 1 PASS | |
0.7383177
|
org.qedeq.kernel.bo.parser.AsciiMathParserTest.testReadMaximalTerm36 org.qedeq.kernel.bo.parser.AsciiMathParserTest.testReadMaximalTerm36 | 1 PASS | |
0.7383177
|
org.qedeq.kernel.bo.parser.SimpleMathParserTest.testReadMaximalTerm15 org.qedeq.kernel.bo.parser.SimpleMathParserTest.testReadMaximalTerm15 | 1 PASS | |
0.7383177
|
org.qedeq.kernel.bo.parser.AbstractParserTest.testAllTogether org.qedeq.kernel.bo.parser.AbstractParserTest.testAllTogether | 1 PASS | |
0.7383177
|
org.qedeq.kernel.bo.parser.SimpleMathParserTest.testReadMaximalTerm22 org.qedeq.kernel.bo.parser.SimpleMathParserTest.testReadMaximalTerm22 | 1 PASS | |
0.7383177
|
org.qedeq.kernel.bo.parser.AsciiMathParserTest.testReadMaximalTerm26 org.qedeq.kernel.bo.parser.AsciiMathParserTest.testReadMaximalTerm26 | 1 PASS | |
0.7383177
|
org.qedeq.kernel.bo.parser.SimpleMathParserTest.testReadMaximalTerm02 org.qedeq.kernel.bo.parser.SimpleMathParserTest.testReadMaximalTerm02 | 1 PASS | |
0.7383177
|
org.qedeq.kernel.bo.parser.SimpleMathParserTest.testReadMaximalTerm12 org.qedeq.kernel.bo.parser.SimpleMathParserTest.testReadMaximalTerm12 | 1 PASS | |
0.7383177
|
org.qedeq.kernel.bo.parser.AsciiMathParserTest.testReadMaximalTerm00 org.qedeq.kernel.bo.parser.AsciiMathParserTest.testReadMaximalTerm00 | 1 PASS | |
0.7383177
|
org.qedeq.kernel.bo.parser.AbstractParserTest.testAllTogether org.qedeq.kernel.bo.parser.AbstractParserTest.testAllTogether | 1 PASS | |
0.7383177
|
org.qedeq.kernel.bo.parser.SimpleMathParserTest.testReadMaximalTerm16 org.qedeq.kernel.bo.parser.SimpleMathParserTest.testReadMaximalTerm16 | 1 PASS | |
0.7383177
|
org.qedeq.kernel.bo.parser.AsciiMathParserTest.testReadMaximalTerm21 org.qedeq.kernel.bo.parser.AsciiMathParserTest.testReadMaximalTerm21 | 1 PASS | |
0.7383177
|
org.qedeq.kernel.bo.parser.AsciiMathParserTest.testReadMaximalTerm14 org.qedeq.kernel.bo.parser.AsciiMathParserTest.testReadMaximalTerm14 | 1 PASS | |
0.7383177
|
org.qedeq.kernel.bo.parser.AsciiMathParserTest.testReadMaximalTerm03 org.qedeq.kernel.bo.parser.AsciiMathParserTest.testReadMaximalTerm03 | 1 PASS | |
0.7383177
|
org.qedeq.kernel.bo.parser.SimpleMathParserTest.testReadMaximalTerm20 org.qedeq.kernel.bo.parser.SimpleMathParserTest.testReadMaximalTerm20 | 1 PASS | |
0.7383177
|
org.qedeq.kernel.bo.parser.AsciiMathParserTest.testReadMaximalTerm10 org.qedeq.kernel.bo.parser.AsciiMathParserTest.testReadMaximalTerm10 | 1 PASS | |
0.7383177
|
org.qedeq.kernel.bo.parser.SimpleMathParserTest.testReadMaximalTerm25 org.qedeq.kernel.bo.parser.SimpleMathParserTest.testReadMaximalTerm25 | 1 PASS | |
0.7383177
|
org.qedeq.kernel.bo.parser.SimpleMathParserTest.testReadMaximalTerm09 org.qedeq.kernel.bo.parser.SimpleMathParserTest.testReadMaximalTerm09 | 1 PASS | |
0.7383177
|
org.qedeq.kernel.bo.parser.AsciiMathParserTest.testReadMaximalTerm45 org.qedeq.kernel.bo.parser.AsciiMathParserTest.testReadMaximalTerm45 | 1 PASS | |
0.7383177
|
org.qedeq.kernel.bo.parser.AsciiMathParserTest.testReadMaximalTerm20 org.qedeq.kernel.bo.parser.AsciiMathParserTest.testReadMaximalTerm20 | 1 PASS | |
0.7383177
|
org.qedeq.kernel.bo.parser.AsciiMathParserTest.testReadMaximalTerm27 org.qedeq.kernel.bo.parser.AsciiMathParserTest.testReadMaximalTerm27 | 1 PASS | |
0.7383177
|
org.qedeq.kernel.bo.parser.AsciiMathParserTest.testReadMaximalTerm09 org.qedeq.kernel.bo.parser.AsciiMathParserTest.testReadMaximalTerm09 | 1 PASS | |
0.7383177
|
org.qedeq.kernel.bo.parser.SimpleMathParserTest.testReadMaximalTerm00 org.qedeq.kernel.bo.parser.SimpleMathParserTest.testReadMaximalTerm00 | 1 PASS | |
0.7383177
|
org.qedeq.kernel.bo.parser.AsciiMathParserTest.testReadMaximalTerm42 org.qedeq.kernel.bo.parser.AsciiMathParserTest.testReadMaximalTerm42 | 1 PASS | |
0.7383177
|
org.qedeq.kernel.bo.parser.AsciiMathParserTest.testReadMaximalTerm13 org.qedeq.kernel.bo.parser.AsciiMathParserTest.testReadMaximalTerm13 | 1 PASS | |
0.7383177
|
org.qedeq.kernel.bo.parser.AsciiMathParserTest.testReadMaximalTerm19 org.qedeq.kernel.bo.parser.AsciiMathParserTest.testReadMaximalTerm19 | 1 PASS | |
0.7383177
|
org.qedeq.kernel.bo.parser.AsciiMathParserTest.testReadMaximalTerm18 org.qedeq.kernel.bo.parser.AsciiMathParserTest.testReadMaximalTerm18 | 1 PASS | |
0.7383177
|
org.qedeq.kernel.bo.parser.AsciiMathParserTest.testReadMaximalTerm02 org.qedeq.kernel.bo.parser.AsciiMathParserTest.testReadMaximalTerm02 | 1 PASS | |
0.7383177
|
org.qedeq.kernel.bo.parser.AsciiMathParserTest.testReadMaximalTerm31 org.qedeq.kernel.bo.parser.AsciiMathParserTest.testReadMaximalTerm31 | 1 PASS | |
0.7383177
|
org.qedeq.kernel.bo.parser.SimpleMathParserTest.testReadMaximalTerm27 org.qedeq.kernel.bo.parser.SimpleMathParserTest.testReadMaximalTerm27 | 1 PASS | |
0.7383177
|
org.qedeq.kernel.bo.parser.SimpleMathParserTest.testReadMaximalTerm06 org.qedeq.kernel.bo.parser.SimpleMathParserTest.testReadMaximalTerm06 | 1 PASS | |
1 | /* $Id: ParserHandler.java,v 1.1 2008/07/26 08:00:52 m31 Exp $ | |
2 | * | |
3 | * This file is part of the project "Hilbert II" - http://www.qedeq.org | |
4 | * | |
5 | * Copyright 2000-2008, Michael Meyling <mime@qedeq.org>. | |
6 | * | |
7 | * "Hilbert II" is free software; you can redistribute | |
8 | * it and/or modify it under the terms of the GNU General Public | |
9 | * License as published by the Free Software Foundation; either | |
10 | * version 2 of the License, or (at your option) any later version. | |
11 | * | |
12 | * This program is distributed in the hope that it will be useful, | |
13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | |
14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
15 | * GNU General Public License for more details. | |
16 | */ | |
17 | ||
18 | package org.qedeq.kernel.xml.handler.parser; | |
19 | ||
20 | import java.util.ArrayList; | |
21 | import java.util.List; | |
22 | ||
23 | import org.qedeq.kernel.bo.parser.Operator; | |
24 | import org.qedeq.kernel.xml.common.XmlSyntaxException; | |
25 | import org.qedeq.kernel.xml.parser.AbstractSimpleHandler; | |
26 | import org.qedeq.kernel.xml.parser.SaxDefaultHandler; | |
27 | import org.qedeq.kernel.xml.parser.SimpleAttributes; | |
28 | ||
29 | ||
30 | /** | |
31 | * Parses list of operators. Result is a list of all parsed operators. | |
32 | * | |
33 | * @version $Revision: 1.1 $ | |
34 | * @author Michael Meyling | |
35 | */ | |
36 | public final class ParserHandler extends AbstractSimpleHandler { | |
37 | ||
38 | /** List of all Operators. */ | |
39 | private List operators = new ArrayList(); | |
40 | ||
41 | /** Operator start symbol. */ | |
42 | private String startSymbol; | |
43 | ||
44 | /** QEDEQ representation. E.g. "PREDCON". */ | |
45 | private String qedeq; | |
46 | ||
47 | /** QEDEQ argument. E.g. "equal". */ | |
48 | private String qedeqArgument; | |
49 | ||
50 | /** Operator priority. */ | |
51 | private Integer priority; | |
52 | ||
53 | /** Minimum argument number. */ | |
54 | private Integer min; | |
55 | ||
56 | /** Maximum argument number. */ | |
57 | private Integer max; | |
58 | ||
59 | ||
60 | /** | |
61 | * Handle a parser XML file. | |
62 | * | |
63 | * @param defaultHandler Startup handler. | |
64 | */ | |
65 | 92 | public ParserHandler(final SaxDefaultHandler defaultHandler) { |
66 | 92 | super(defaultHandler, "parser"); |
67 | } | |
68 | ||
69 | 92 | public final void init() { |
70 | 92 | operators.clear(); |
71 | } | |
72 | ||
73 | /** | |
74 | * Get list of operators. | |
75 | * | |
76 | * @return Operator list. | |
77 | */ | |
78 | 92 | public final List getOperators() { |
79 | 92 | return operators; |
80 | } | |
81 | ||
82 | 1614 | public final void startElement(final String name, final SimpleAttributes attributes) |
83 | throws XmlSyntaxException { | |
84 | 1614 | if (getStartTag().equals(name)) { |
85 | // nothing todo | |
86 | 1522 | } else if ("prefixOperator".equals(name)) { |
87 | 503 | setBasisAttributes(name, attributes); |
88 | 503 | addOperator(Operator.SIMPLE_PREFIX); |
89 | 1019 | } else if ("infixOperator".equals(name)) { |
90 | 747 | setBasisAttributes(name, attributes); |
91 | 747 | addOperator(Operator.INFIX); |
92 | 272 | } else if ("functionOperator".equals(name)) { |
93 | 88 | setBasisAttributes(name, attributes); |
94 | 88 | addOperator(Operator.FUNCTION); |
95 | 184 | } else if ("complexOperator".equals(name)) { |
96 | 184 | setBasisAttributes(name, attributes); |
97 | 184 | final String separatorSymbol = attributes.getString("separatorSymbol"); |
98 | 184 | if (separatorSymbol == null) { |
99 | 0 | throw XmlSyntaxException.createEmptyAttributeException(name, "separatorSymbol"); |
100 | } | |
101 | 184 | if (separatorSymbol.length() == 0) { |
102 | 0 | throw XmlSyntaxException.createMissingAttributeException(name, "separatorSymbol"); |
103 | } | |
104 | 184 | final String endSymbol = attributes.getString("endSymbol"); |
105 | 184 | if (endSymbol == null) { |
106 | 0 | throw XmlSyntaxException.createEmptyAttributeException(name, "endSymbol"); |
107 | } | |
108 | 184 | if (endSymbol.length() == 0) { |
109 | 0 | throw XmlSyntaxException.createMissingAttributeException(name, "endSymbol"); |
110 | } | |
111 | 184 | if (max == null) { |
112 | 92 | operators.add(new Operator(startSymbol, separatorSymbol, endSymbol, qedeq, |
113 | qedeqArgument, priority.intValue(), min.intValue())); | |
114 | } else { | |
115 | 92 | operators.add(new Operator(startSymbol, separatorSymbol, endSymbol, qedeq, |
116 | qedeqArgument, priority.intValue(), min.intValue(), max.intValue())); | |
117 | } | |
118 | } else { | |
119 | 0 | throw XmlSyntaxException.createUnexpectedTagException(name); |
120 | } | |
121 | } | |
122 | ||
123 | 1338 | private void addOperator(final int type) { |
124 | 1338 | if (max == null) { |
125 | 544 | operators.add(new Operator(startSymbol, qedeq, qedeqArgument, priority.intValue(), |
126 | type, min.intValue())); | |
127 | } else { | |
128 | 794 | operators.add(new Operator(startSymbol, qedeq, qedeqArgument, priority.intValue(), |
129 | type, min.intValue(), max.intValue())); | |
130 | } | |
131 | } | |
132 | ||
133 | 1522 | private void setBasisAttributes(final String element, final SimpleAttributes attributes) |
134 | throws XmlSyntaxException { | |
135 | 1522 | startSymbol = attributes.getString("startSymbol"); |
136 | 1522 | if (startSymbol == null) { |
137 | 0 | throw XmlSyntaxException.createMissingAttributeException(element, "startSymbol"); |
138 | } | |
139 | 1522 | if (startSymbol.length() == 0) { |
140 | 0 | throw XmlSyntaxException.createEmptyAttributeException(element, "startSymbol"); |
141 | } | |
142 | 1522 | qedeq = attributes.getString("qedeq"); |
143 | 1522 | if (qedeq == null) { |
144 | 0 | throw XmlSyntaxException.createMissingAttributeException(element, "qedeq"); |
145 | } | |
146 | 1522 | if (qedeq.length() == 0) { |
147 | 0 | throw XmlSyntaxException.createEmptyAttributeException(element, "qedeq"); |
148 | } | |
149 | 1522 | qedeqArgument = attributes.getString("qedeqArgument"); |
150 | 1522 | priority = attributes.getInteger("priority"); |
151 | 1522 | if (priority == null || priority.intValue() < 0) { |
152 | 0 | throw XmlSyntaxException.createMissingAttributeException(element, "priority"); |
153 | } | |
154 | 1522 | min = attributes.getInteger("min"); |
155 | 1522 | if (min == null) { |
156 | 0 | min = new Integer(0); |
157 | } | |
158 | 1522 | max = attributes.getInteger("max"); |
159 | } | |
160 | ||
161 | 1614 | public final void endElement(final String name) throws XmlSyntaxException { |
162 | 1614 | if (getStartTag().equals(name)) { |
163 | // nothing to do | |
164 | 1522 | } else if ("prefixOperator".equals(name)) { |
165 | // nothing to do | |
166 | 1019 | } else if ("infixOperator".equals(name)) { |
167 | // nothing to do | |
168 | 272 | } else if ("functionOperator".equals(name)) { |
169 | // nothing to do | |
170 | 184 | } else if ("complexOperator".equals(name)) { |
171 | // nothing to do | |
172 | } else { | |
173 | 0 | throw XmlSyntaxException.createUnexpectedTagException(name); |
174 | } | |
175 | } | |
176 | ||
177 | } |
|