Remove old autovect-branch by moving to "dead" directory.
[official-gcc.git] / old-autovect-branch / libjava / classpath / javax / swing / SizeSequence.java
blobdff966b3e3501aedf31eb63492002f8b01eec777
1 /* SizeSequence.java --
2 Copyright (C) 2002 Free Software Foundation, Inc.
4 This file is part of GNU Classpath.
6 GNU Classpath is free software; you can redistribute it and/or modify
7 it under the terms of the GNU General Public License as published by
8 the Free Software Foundation; either version 2, or (at your option)
9 any later version.
11 GNU Classpath is distributed in the hope that it will be useful, but
12 WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 General Public License for more details.
16 You should have received a copy of the GNU General Public License
17 along with GNU Classpath; see the file COPYING. If not, write to the
18 Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
19 02110-1301 USA.
21 Linking this library statically or dynamically with other modules is
22 making a combined work based on this library. Thus, the terms and
23 conditions of the GNU General Public License cover the whole
24 combination.
26 As a special exception, the copyright holders of this library give you
27 permission to link this library with independent modules to produce an
28 executable, regardless of the license terms of these independent
29 modules, and to copy and distribute the resulting executable under
30 terms of your choice, provided that you also meet, for each linked
31 independent module, the terms and conditions of the license of that
32 module. An independent module is a module which is not derived from
33 or based on this library. If you modify this library, you may extend
34 this exception to your version of the library, but you are not
35 obligated to do so. If you do not wish to do so, delete this
36 exception statement from your version. */
38 package javax.swing;
40 /**
41 * SizeSequence
42 * @author Andrew Selkirk
43 * @version 1.0
45 public class SizeSequence
48 /**
49 * sizes
51 private int[] sizes = new int[0];
53 /**
54 * Constructor SizeSequence
56 public SizeSequence()
58 sizes = new int[0];
61 /**
62 * Constructor SizeSequence
63 * @param numEntries TODO
65 public SizeSequence(int numEntries)
67 this(numEntries, 0);
70 /**
71 * Constructor SizeSequence
72 * @param numEntries TODO
73 * @param value TODO
75 public SizeSequence(int numEntries, int value)
77 insertEntries(0, numEntries, value);
80 /**
81 * Constructor SizeSequence
82 * @param sizes TODO
84 public SizeSequence(int[] sizes)
86 setSizes(sizes);
89 /**
90 * setSize
91 * @param index TODO
92 * @param size TODO
94 public void setSize(int index, int size)
96 sizes[index] = size;
99 /**
100 * getIndex
101 * @param position TODO
102 * @returns int
104 public int getIndex(int position)
106 return 0; // TODO
110 * getSize
111 * @param index TODO
112 * @returns int
114 public int getSize(int index)
116 return sizes[index];
120 * setSizes
121 * @param sizes TODO
123 public void setSizes(int[] sizes)
125 int index;
126 // Initialize sizes.
127 this.sizes = new int[sizes.length];
128 for (index = 0; index < sizes.length; index++)
129 this.sizes[index] = sizes[index];
134 * getSizes
135 * @returns int[]
137 public int[] getSizes()
139 int[] array;
140 int index;
142 // Create new array.
143 array = new int[sizes.length];
144 for (index = 0; index < sizes.length; index++)
145 array[index] = sizes[index];
147 // Return newly created array.
148 return array;
153 * getPosition
154 * @param index TODO
155 * @returns int
157 public int getPosition(int index)
159 int position;
160 int loop;
162 // Process sizes.
163 position = 0;
164 for (loop = 0; loop < index; loop++)
165 position += sizes[loop];
167 // Return position.
168 return position;
173 * insertEntries
174 * @param start TODO
175 * @param length TODO
176 * @param value TODO
178 public void insertEntries(int start, int length, int value)
180 int[] array;
181 int index;
182 int arrayIndex;
183 int loop;
185 // Create new array.
186 array = new int[sizes.length + length];
187 arrayIndex = 0;
188 for (index = 0; index < sizes.length; index++)
190 if (index == start)
192 for (loop = 0; loop < length; loop++)
194 array[arrayIndex] = value;
195 arrayIndex++;
198 else
200 array[arrayIndex] = sizes[index];
201 arrayIndex++;
208 * removeEntries
209 * @param start TODO
210 * @param length TODO
212 public void removeEntries(int start, int length)
214 int[] array;
215 int index;
216 int arrayIndex;
218 // Sanity check.
219 if ((start + length) > sizes.length)
220 throw new IllegalArgumentException("Specified start/length that "
221 + "is greater than available sizes");
223 // Create new array.
224 array = new int[sizes.length - length];
225 arrayIndex = 0;
226 for (index = 0; index < sizes.length; index++)
228 if (index == start)
229 index += length - 1;
230 else
232 array[arrayIndex] = sizes[index];
233 arrayIndex++;