javap/src/main/java/sun/tools/javap/Vector.java
author Jaroslav Tulach <jaroslav.tulach@apidesign.org>
Sat, 10 Nov 2012 20:31:39 +0100
branchjavap
changeset 150 945817561b9a
parent 149 32653a09f0db
child 151 40f95fe90cdc
permissions -rw-r--r--
Trivial implementation of Hashtable and Vector
     1 /*
     2  * To change this template, choose Tools | Templates
     3  * and open the template in the editor.
     4  */
     5 package sun.tools.javap;
     6 
     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;
    13     
    14     Vector() {
    15     }
    16 
    17     Vector(int i) {
    18         this();
    19     }
    20 
    21     void add(Object objectType) {
    22         addElement(objectType);
    23     }
    24     void addElement(Object obj) {
    25         setSize(size() + 1);
    26         setElementAt(obj, size());
    27     }
    28 
    29     int size() {
    30         return arr == null ? 0 : arr.length;
    31     }
    32 
    33     void copyInto(Object[] accflags) {
    34         throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
    35     }
    36 
    37     Object elementAt(int index) {
    38         return arr[index];
    39     }
    40 
    41     void setSize(int len) {
    42         if (arr == null) {
    43             arr = new Object[len];
    44         } else {
    45             Object[] newArr = new Object[len];
    46             int min = Math.min(len, arr.length);
    47             for (int i = 0; i < min; i++) {
    48                 newArr[i] = arr[i];
    49             }
    50             arr = newArr;
    51         }
    52     }
    53 
    54     void setElementAt(Object val, int index) {
    55         arr[index] = val;
    56     }
    57 }