Clover Coverage Report
Coverage timestamp: Sa Aug 2 2008 13:56:27 CEST
../../../../../../img/srcFileCovDistChart9.png 30% of files have more coverage
14   87   9   2,8
8   39   0,64   5
5     1,8  
1    
 
  AuthorHandler       Line # 31 14 9 85,2% 0.8518519
 
  (41)
 
1    /* $Id: AuthorHandler.java,v 1.1 2008/07/26 08:00:51 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.module;
19   
20    import org.qedeq.kernel.dto.module.AuthorVo;
21    import org.qedeq.kernel.xml.common.XmlSyntaxException;
22    import org.qedeq.kernel.xml.parser.AbstractSimpleHandler;
23    import org.qedeq.kernel.xml.parser.SimpleAttributes;
24   
25    /**
26    * Parse author list.
27    *
28    * @version $Revision: 1.1 $
29    * @author Michael Meyling
30    */
 
31    public class AuthorHandler extends AbstractSimpleHandler {
32   
33    /** Author. */
34    private AuthorVo author;
35   
36    /** Email address of one author. */
37    private String email;
38   
39    /** Parses the name of the author. */
40    private final LatexHandler authorNameHandler;
41   
42   
43    /**
44    * Handles list of authors.
45    *
46    * @param handler Parent handler.
47    */
 
48  140 toggle public AuthorHandler(final AbstractSimpleHandler handler) {
49  140 super(handler, "AUTHOR");
50  140 authorNameHandler = new LatexHandler(this, "NAME");
51    }
52   
 
53  133 toggle public final void init() {
54  133 author = null;
55  133 email = null;
56    }
57   
58    /**
59    * Get author.
60    *
61    * @return Author.
62    */
 
63  133 toggle public final AuthorVo getAuthor() {
64  133 return author;
65    }
66   
 
67  266 toggle public final void startElement(final String name, final SimpleAttributes attributes)
68    throws XmlSyntaxException {
69  266 if (getStartTag().equals(name)) {
70  133 email = attributes.getString("email");
71  133 } else if (authorNameHandler.getStartTag().equals(name)) {
72  133 changeHandler(authorNameHandler, name, attributes);
73    } else {
74  0 throw XmlSyntaxException.createUnexpectedTagException(name);
75    }
76    }
77   
 
78  266 toggle public final void endElement(final String name) throws XmlSyntaxException {
79  266 if (getStartTag().equals(name)) {
80    // nothing to do
81  133 } else if (authorNameHandler.getStartTag().equals(name)) {
82  133 author = new AuthorVo(authorNameHandler.getLatex(), email);
83    } else {
84  0 throw XmlSyntaxException.createUnexpectedTagException(name);
85    }
86    }
87    }