vm/src/main/java/org/apidesign/vm4brwsr/StringArray.java
author Jaroslav Tulach <jtulach@netbeans.org>
Fri, 16 Nov 2012 07:36:32 +0100
branchjavap
changeset 162 70e7710a65dc
child 165 5d02550c4028
permissions -rw-r--r--
Eliminating references to java.util classes that have too huge transitive closure.
     1 /*
     2  * To change this template, choose Tools | Templates
     3  * and open the template in the editor.
     4  */
     5 package org.apidesign.vm4brwsr;
     6 
     7 /**
     8  *
     9  * @author Jaroslav Tulach <jtulach@netbeans.org>
    10  */
    11 class StringArray {
    12     private String[] arr;
    13 
    14     public StringArray() {
    15     }
    16 
    17     private StringArray(String[] arr) {
    18         this.arr = arr;
    19     }
    20     
    21     public void add(String s) {
    22         if (arr == null) {
    23             arr = new String[1];
    24         } else {
    25             String[] tmp = new String[arr.length + 1];
    26             for (int i = 0; i < arr.length; i++) {
    27                 tmp[i] = arr[i];
    28             }
    29             arr = tmp;
    30         }
    31         arr[arr.length - 1] = s;
    32     }
    33     
    34     public String[] toArray() {
    35         return arr == null ? new String[0] : arr;
    36     }
    37     
    38     static StringArray asList(String[] names) {
    39         return new StringArray(names);
    40     }
    41 
    42     void reverse() {
    43         for (int i = 0, j = arr.length; i < j; i++) {
    44             String s = arr[i];
    45             arr[i] = arr[--j];
    46             arr[j] = s;
    47         }
    48     }
    49 
    50     boolean contains(String n) {
    51         if (arr == null) {
    52             return false;
    53         }
    54         for (int i = 0; i < arr.length; i++) {
    55             if (n.equals(arr[i])) {
    56                 return true;
    57             }
    58         }
    59         return false;
    60     }
    61 
    62     void delete(int indx) {
    63         if (arr == null) {
    64             return;
    65         }
    66         String[] tmp = new String[arr.length - 1];
    67         for (int i = 0, j = 0; i < arr.length; i++) {
    68             tmp[j] = arr[i];
    69             if (j == indx) {
    70                 continue;
    71             }
    72         }
    73     }
    74 
    75     int indexOf(String ic) {
    76         for (int i = 0; i < arr.length; i++) {
    77             if (ic.equals(arr[i])) {
    78                 return i;
    79             }
    80         }
    81         return -1;
    82     }
    83     
    84 }