001: /* Soot - a J*va Optimization Framework
002: * Copyright (C) 2003 Jennifer Lhotak
003: *
004: * This library is free software; you can redistribute it and/or
005: * modify it under the terms of the GNU Lesser General Public
006: * License as published by the Free Software Foundation; either
007: * version 2.1 of the License, or (at your option) any later version.
008: *
009: * This library is distributed in the hope that it will be useful,
010: * but WITHOUT ANY WARRANTY; without even the implied warranty of
011: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
012: * Lesser General Public License for more details.
013: *
014: * You should have received a copy of the GNU Lesser General Public
015: * License along with this library; if not, write to the
016: * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
017: * Boston, MA 02111-1307, USA.
018: */
019:
020: package ca.mcgill.sable.soot.launching;
021:
022: import java.util.*;
023:
024: /**
025: * Handles command list by making Strings separated by spaces into
026: * list
027: */
028: public class SootCommandList {
029:
030: private ArrayList list;
031: private static final String SPACE = " ";
032:
033: /**
034: * Constructor for SootCommandList.
035: */
036: public SootCommandList() {
037: setList(new ArrayList());
038: }
039:
040: /**
041: * @param key
042: */
043: public void addSingleOpt(ArrayList key) {
044: getList().addAll(key);
045: }
046:
047: /**
048: * Method addSingleOpt.
049: * @param key
050: */
051: public void addSingleOpt(String key) {
052: StringTokenizer st = new StringTokenizer(key);
053: while (st.hasMoreTokens()) {
054: String token = st.nextToken();
055: getList().add(token);
056: }
057: }
058:
059: /**
060: * Method addDoubleOpt.
061: * @param key
062: * @param val
063: */
064: public void addDoubleOpt(String key, String val) {
065: addSingleOpt(key);
066: addSingleOpt(val);
067: }
068:
069: public void addDashes() {
070:
071: ArrayList withDashes = new ArrayList();
072:
073: Iterator it = getList().iterator();
074: while (it.hasNext()) {
075: String temp = (String) it.next();
076: temp = "-- " + temp;
077: withDashes.add(temp);
078: }
079:
080: setList(withDashes);
081: }
082:
083: public void printList() {
084: Iterator it = list.iterator();
085: while (it.hasNext()) {
086: System.out.println(it.next());
087: }
088: }
089:
090: /**
091: * Returns the list.
092: * @return ArrayList
093: */
094: public ArrayList getList() {
095: return list;
096: }
097:
098: /**
099: * Sets the list.
100: * @param list The list to set
101: */
102: public void setList(ArrayList list) {
103: this.list = list;
104: }
105:
106: }
|