Docjar: A Java Source and Docuemnt Enginecom.*    java.*    javax.*    org.*    all    new    plug-in

Quick Search    Search Deep

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  }