1 24 25 package com.mckoi.util; 26 27 import java.util.Vector ; 28 import java.util.StringTokenizer ; 29 30 35 36 public class CommandLine { 37 38 41 private String [] args; 42 43 47 public CommandLine(String [] args) { 48 if (args == null) { 49 args = new String [0]; 50 } 51 this.args = args; 52 } 53 54 58 public boolean containsSwitch(String switch_str) { 59 for (int i = 0; i < args.length; ++i) { 60 if (args[i].equals(switch_str)) { 61 return true; 62 } 63 } 64 return false; 65 } 66 67 71 public boolean containsSwitchFrom(String switch_str) { 72 StringTokenizer tok = new StringTokenizer (switch_str, ","); 73 while (tok.hasMoreElements()) { 74 String elem = tok.nextElement().toString(); 75 if (containsSwitch(elem)) { 76 return true; 77 } 78 } 79 return false; 80 } 81 82 87 public boolean containsSwitchStart(String switch_str) { 88 for (int i = 0; i < args.length; ++i) { 89 if (args[i].startsWith(switch_str)) { 90 return true; 91 } 92 } 93 return false; 94 } 95 96 101 public String [] allSwitchesStartingWith(String switch_str) { 102 Vector list = new Vector (); 103 for (int i = 0; i < args.length; ++i) { 104 if (args[i].startsWith(switch_str)) { 105 list.addElement(args[i]); 106 } 107 } 108 return (String []) list.toArray(new String [list.size()]); 109 } 110 111 118 public String switchArgument(String switch_str) { 119 for (int i = 0; i < args.length - 1; ++i) { 120 if (args[i].equals(switch_str)) { 121 return args[i + 1]; 122 } 123 } 124 return null; 125 } 126 127 134 public String switchArgument(String switch_str, String def) { 135 String arg = switchArgument(switch_str); 136 if (arg == null) { 137 return def; 138 } 139 return arg; 140 } 141 142 150 public String [] switchArguments(String switch_str, int arg_count) { 151 for (int i = 0; i < args.length - 1; ++i) { 152 if (args[i].equals(switch_str)) { 153 if (i + arg_count < args.length) { 154 String [] ret_list = new String [arg_count]; 155 for (int n = 0; n < arg_count; ++n) { 156 ret_list[n] = args[i + n + 1]; 157 } 158 return ret_list; 159 } 160 } 161 } 162 return null; 163 } 164 165 166 } 167 | Popular Tags |