KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > de > progra > charting > model > EditableDataSet


1 /*
2     JOpenChart Java Charting Library and Toolkit
3     Copyright (C) 2001 Sebastian Müller
4     http://jopenchart.sourceforge.net
5
6     This library is free software; you can redistribute it and/or
7     modify it under the terms of the GNU Lesser General Public
8     License as published by the Free Software Foundation; either
9     version 2.1 of the License, or (at your option) any later version.
10
11     This library is distributed in the hope that it will be useful,
12     but WITHOUT ANY WARRANTY; without even the implied warranty of
13     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14     Lesser General Public License for more details.
15
16     You should have received a copy of the GNU Lesser General Public
17     License along with this library; if not, write to the Free Software
18     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
19
20     EditableDataSet.java
21     Created on 9. June 2002, 15:40
22 */

23
24 package de.progra.charting.model;
25
26 import java.util.Arrays JavaDoc;
27
28 /**
29  * This is an editable DataSet implementation.
30  * @author mueller
31  * @version 1.0
32  */

33 public class EditableDataSet extends DefaultDataSet {
34     
35     /** Creates a new empty EditableDataSet with default axis binding. */
36     public EditableDataSet() {
37         super();
38     }
39     
40     /** Creates a new empty EditableDataSet with the given
41      * Axis binding.
42      */

43     public EditableDataSet(int axis) {
44         super(axis);
45     }
46     
47     /** Creates a new EditableDataSet with the given data and
48      * the Axis binding.
49      * @param data the DataSet values
50      * @param columns the DataSet columns, the value and the column array should
51      * have the same length. The column array has to be sorted.
52      * @param axis the Axis binding
53      */

54     public EditableDataSet(Object JavaDoc[] data, Object JavaDoc[] columns, int axis) {
55         super(data, columns, axis);
56     }
57     
58     /** Creates a new EditableDataSet with the given data and
59      * the Axis binding.
60      * @param data the DataSet values
61      * @param columns the DataSet columns, the value and the column array should
62      * have the same length. The column array has to be sorted!
63      * @param axis the Axis binding
64      */

65     public EditableDataSet(Object JavaDoc[] data, Object JavaDoc[] columns, int axis, String JavaDoc title) {
66         super(data, columns, axis, title);
67     }
68     
69     /** Inserts the given column/value pair at the right position, which is
70      * determined through a binary search. If the column is contained in the
71      * column set, setValueAt is called.
72      * @param value the value to be stored
73      * @param column the column value corresponding to value
74      */

75     public void insertValue(Object JavaDoc value, Object JavaDoc column) {
76         int insertIndex = Arrays.binarySearch(columns.toArray(), column);
77         if(insertIndex >= 0) {
78             setValueAt(insertIndex, value);
79         } else {
80             // As the column object wasn't found, the result is -( insertion point) - 1.
81
insertIndex++;
82             insertIndex *= -1;
83             
84             data.add(insertIndex, value);
85             columns.add(insertIndex, column);
86         }
87     }
88     
89     public void removeValue(int index) {
90         data.remove(index);
91     }
92 }
93
Popular Tags