213 private class StringOption extends Option<String> {
214
215 StringOption(Character s, String l, String v, String d) {
216 super(s, l, v, d);
217 }
218
219 @Override
220 public String parseFromString(String arg) {
221 return arg;
222 }
223 }
224
225 private class LongOption extends Option<Long> {
226
227 LongOption(Character s, String l, long v, String d) {
228 super(s, l, v, d);
229 }
230
231 @Override
232 public Long parseFromString(String arg) {
233 return new Long(arg);
234 }
235 }
236
237 private class IntOption extends Option<Integer> {
238
239 IntOption(Character s, String l, int v, String d) {
240 super(s, l, v, d);
241 }
242
243 @Override
244 public Integer parseFromString(String arg) {
245 return new Integer(arg);
246 }
247 }
248
249 private class BooleanOption extends Option<Boolean> {
250
251 BooleanOption(Character s, String l, boolean v, String d) {
252 super(s, l, v, d);
253 }
254
255 @Override
256 public boolean isFlag() {
257 return true;
258 }
259
260 @Override
261 public Boolean parseFromString(String arg) {
262 //null and empty value is considered true, as option is flag and value could be absent
263 return arg == null || "".equals(arg) || "1".equalsIgnoreCase(arg) || "true".equalsIgnoreCase(arg);
264 }
265 }
|
213 private class StringOption extends Option<String> {
214
215 StringOption(Character s, String l, String v, String d) {
216 super(s, l, v, d);
217 }
218
219 @Override
220 public String parseFromString(String arg) {
221 return arg;
222 }
223 }
224
225 private class LongOption extends Option<Long> {
226
227 LongOption(Character s, String l, long v, String d) {
228 super(s, l, v, d);
229 }
230
231 @Override
232 public Long parseFromString(String arg) {
233 return Long.valueOf(arg);
234 }
235 }
236
237 private class IntOption extends Option<Integer> {
238
239 IntOption(Character s, String l, int v, String d) {
240 super(s, l, v, d);
241 }
242
243 @Override
244 public Integer parseFromString(String arg) {
245 return Integer.valueOf(arg);
246 }
247 }
248
249 private class BooleanOption extends Option<Boolean> {
250
251 BooleanOption(Character s, String l, boolean v, String d) {
252 super(s, l, v, d);
253 }
254
255 @Override
256 public boolean isFlag() {
257 return true;
258 }
259
260 @Override
261 public Boolean parseFromString(String arg) {
262 //null and empty value is considered true, as option is flag and value could be absent
263 return arg == null || "".equals(arg) || "1".equalsIgnoreCase(arg) || "true".equalsIgnoreCase(arg);
264 }
265 }
|