KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > google > gwt > util > tools > ArgHandlerInt


1 /*
2  * Copyright 2006 Google Inc.
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License"); you may not
5  * use this file except in compliance with the License. You may obtain a copy of
6  * the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
12  * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
13  * License for the specific language governing permissions and limitations under
14  * the License.
15  */

16 package com.google.gwt.util.tools;
17
18 /**
19  * Argument handler for flags that take an integer as their parameter.
20  */

21 public abstract class ArgHandlerInt extends ArgHandler {
22
23   public String JavaDoc[] getDefaultArgs() {
24     return null;
25   }
26
27   public abstract String JavaDoc getPurpose();
28
29   public abstract String JavaDoc getTag();
30
31   public abstract String JavaDoc[] getTagArgs();
32
33   public int handle(String JavaDoc[] args, int startIndex) {
34     int value;
35     if (startIndex + 1 < args.length) {
36       try {
37         value = Integer.parseInt(args[startIndex + 1]);
38       } catch (NumberFormatException JavaDoc e) {
39         // fall-through
40
value = -1;
41       }
42
43       setInt(value);
44       return 1;
45     }
46
47     System.err.println(getTag() + " should be followed by an integer");
48     return -1;
49   }
50
51   public boolean isRequired() {
52     return false;
53   }
54
55   public abstract void setInt(int value);
56 }
57
Popular Tags