author | Jaroslav Tulach <jtulach@netbeans.org> |
Fri, 16 Nov 2012 08:08:36 +0100 | |
branch | javap |
changeset 167 | 77f7135b6eb1 |
parent 152 | javap/src/main/java/sun/tools/javap/Vector.java@2cda429aeb49 |
child 287 | 6f696a0ef12f |
child 316 | 8da329789435 |
permissions | -rw-r--r-- |
1 /*
2 * To change this template, choose Tools | Templates
3 * and open the template in the editor.
4 */
5 package org.apidesign.javap;
7 /** A JavaScript ready replacement for java.util.Vector
8 *
9 * @author Jaroslav Tulach <jtulach@netbeans.org>
10 */
11 final class Vector {
12 private Object[] arr;
14 Vector() {
15 }
17 Vector(int i) {
18 this();
19 }
21 void add(Object objectType) {
22 addElement(objectType);
23 }
24 void addElement(Object obj) {
25 final int s = size();
26 setSize(s + 1);
27 setElementAt(obj, s);
28 }
30 int size() {
31 return arr == null ? 0 : arr.length;
32 }
34 void copyInto(Object[] newArr) {
35 if (arr == null) {
36 return;
37 }
38 int min = Math.min(newArr.length, arr.length);
39 for (int i = 0; i < min; i++) {
40 newArr[i] = arr[i];
41 }
42 }
44 Object elementAt(int index) {
45 return arr[index];
46 }
48 void setSize(int len) {
49 Object[] newArr = new Object[len];
50 copyInto(newArr);
51 arr = newArr;
52 }
54 void setElementAt(Object val, int index) {
55 arr[index] = val;
56 }
57 }