1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1.2 +++ b/javap/src/main/java/org/apidesign/javap/Vector.java Wed Dec 12 20:35:01 2012 +0100
1.3 @@ -0,0 +1,57 @@
1.4 +/*
1.5 + * To change this template, choose Tools | Templates
1.6 + * and open the template in the editor.
1.7 + */
1.8 +package org.apidesign.javap;
1.9 +
1.10 +/** A JavaScript ready replacement for java.util.Vector
1.11 + *
1.12 + * @author Jaroslav Tulach <jtulach@netbeans.org>
1.13 + */
1.14 +final class Vector {
1.15 + private Object[] arr;
1.16 +
1.17 + Vector() {
1.18 + }
1.19 +
1.20 + Vector(int i) {
1.21 + this();
1.22 + }
1.23 +
1.24 + void add(Object objectType) {
1.25 + addElement(objectType);
1.26 + }
1.27 + void addElement(Object obj) {
1.28 + final int s = size();
1.29 + setSize(s + 1);
1.30 + setElementAt(obj, s);
1.31 + }
1.32 +
1.33 + int size() {
1.34 + return arr == null ? 0 : arr.length;
1.35 + }
1.36 +
1.37 + void copyInto(Object[] newArr) {
1.38 + if (arr == null) {
1.39 + return;
1.40 + }
1.41 + int min = Math.min(newArr.length, arr.length);
1.42 + for (int i = 0; i < min; i++) {
1.43 + newArr[i] = arr[i];
1.44 + }
1.45 + }
1.46 +
1.47 + Object elementAt(int index) {
1.48 + return arr[index];
1.49 + }
1.50 +
1.51 + void setSize(int len) {
1.52 + Object[] newArr = new Object[len];
1.53 + copyInto(newArr);
1.54 + arr = newArr;
1.55 + }
1.56 +
1.57 + void setElementAt(Object val, int index) {
1.58 + arr[index] = val;
1.59 + }
1.60 +}