2 * Back 2 Browser Bytecode Translator
3 * Copyright (C) 2012-2015 Jaroslav Tulach <jaroslav.tulach@apidesign.org>
5 * This program is free software: you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License as published by
7 * the Free Software Foundation, version 2 of the License.
9 * This program is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 * GNU General Public License for more details.
14 * You should have received a copy of the GNU General Public License
15 * along with this program. Look for COPYING file in the top folder.
16 * If not, see http://opensource.org/licenses/GPL-2.0.
18 package org.apidesign.vm4brwsr;
22 * @author Jaroslav Tulach <jtulach@netbeans.org>
27 public StringArray() {
30 private StringArray(String[] arr) {
34 public void add(String s) {
37 private boolean add(String s, boolean check) {
41 String[] tmp = new String[arr.length + 1];
42 for (int i = 0; i < arr.length; i++) {
43 if (check && s.equals(arr[i])) {
50 arr[arr.length - 1] = s;
54 StringArray addAndNew(String... values) {
58 tmp = new String[values.length];
61 tmp = new String[arr.length + values.length];
62 for (int i = 0; i < arr.length; i++) {
67 for (int i = 0; i < values.length;) {
68 tmp[j++] = values[i++];
70 return new StringArray(tmp);
73 public String[] toArray() {
74 return arr == null ? new String[0] : arr;
77 static StringArray asList(String... names) {
78 return new StringArray(names);
82 for (int i = 0, j = arr.length; i < j; i++) {
89 boolean contains(String n) {
93 for (int i = 0; i < arr.length; i++) {
94 if (n.equals(arr[i])) {
101 void delete(int indx) {
102 if (arr == null || indx < 0 || indx >= arr.length) {
105 String[] tmp = new String[arr.length - 1];
106 for (int i = 0, j = 0; i < arr.length; i++) {
113 void remove(String item) {
114 int f = indexOf(item);
120 int indexOf(String ic) {
121 if (arr != null) for (int i = 0; i < arr.length; i++) {
122 if (ic.equals(arr[i])) {
129 String getAndClear(int count, boolean clear) {
130 String s = arr[count];
141 boolean addIfMissing(String s) {