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

Quick Search    Search Deep

Source code: jbreport/core/QueryBoundResult.java


1   /*
2    * $Id: QueryBoundResult.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.ReportException;
26  import jbreport.data.QueryResult;
27  
28  /**
29   * This is used to get a particular cell of data from the results of the query
30   * to the datasource. It would normally be used to present information during
31   * section breaks.
32   *
33   * @author Grant Finnemore
34   * @version $Revision: 1.1 $
35   */
36  class QueryBoundResult extends AbstractReportElement {
37  
38     /** The identifier of the query result column that we will bind to */
39     private String id;
40  
41     /** The current value of the bound element */
42     private String value;
43  
44     //
45     // Constructors
46     //
47  
48     //
49     // Methods overloaded from AbstractReportElement
50     //
51  
52     public void accept(ReportVisitor visitor, ReportVisitorState state) 
53        throws ReportException {
54        visitor.visitQueryBoundResult(this, state);
55     }
56  
57     public String getString(String property, String defaultValue)
58        throws ReportException {
59        
60        String result = defaultValue;
61        if("value".equals(property)) {
62           result = value;
63        }
64        else {
65           result = super.getString(property, defaultValue);
66        }
67        return result;
68     }
69  
70     public void updateData(QueryResult queryResult) throws ReportException {
71        value = queryResult.getString(id);
72     }
73  
74     public void xmlInitialize(String localName, Attributes attributes)
75        throws ReportException {
76  
77        super.xmlInitialize(localName, attributes);
78        id = attributes.getValue("id");
79        assertNotNull(id, "id");
80     }
81  }