Source code: jbreport/core/XMLAware.java
1 /*
2 * $Id: XMLAware.java,v 1.1 2000/08/31 13:53:17 grantfin Exp $
3 *
4 * jbReport - A reporting library for Java
5 * Copyright (C) 2000 Grant Finnemore <grantfin@users.sourceforge.net>
6 *
7 * This library is free software; you can redistribute it and/or
8 * modify it under the terms of the GNU Lesser 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 library 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 GNU
15 * Lesser General Public License for more details.
16 *
17 * You should have received a copy of the GNU Lesser General Public
18 * License along with this library; if not, write to the Free Software
19 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
20 */
21 package jbreport.core;
22
23 import org.xml.sax.Attributes;
24
25 import jbreport.ReportElement;
26 import jbreport.ReportException;
27
28 /**
29 * This interface defines the operations that will be performed on an element
30 * that implements this interface during the xml parse tree traversal.
31 *
32 * <p> It's not really necessary at the moment, but I don't want any public
33 * methods in AbstractReportElement that are not defined by some interface.
34 *
35 * @author Grant Finnemore
36 * @version $Revision: 1.1 $
37 */
38 public
39 interface XMLAware {
40
41 /**
42 * This will be called after a new element has been constructed, and the
43 * element name and attributes are known. This should enable concrete
44 * elements to change their type to the relevant localName parameter - if
45 * necessary.
46 */
47 public void xmlInitialize(String localName, Attributes attributes)
48 throws ReportException;
49
50 /**
51 * This is called after the element has been successfully parsed, and will
52 * include any known character data defined in the context of this element.
53 */
54 public void xmlEnd(String cdata) throws ReportException;
55
56 /**
57 * This is called after the xmlEnd method, and will thus not be be called if
58 * an element fails to be constructed correctly. The instance to which this
59 * method applies is that directly below the top element on the parse stack
60 */
61 public void xmlEndChild(ReportElement elem) throws ReportException;
62
63 }