1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package edu.internet2.middleware.ant.input;
18
19 import java.util.Iterator;
20 import java.util.Vector;
21
22 import org.apache.tools.ant.ProjectComponent;
23 import org.apache.tools.ant.util.StringUtils;
24
25
26
27
28 public class XInputOption extends ProjectComponent {
29
30 private Boolean caseSensitive = null;
31
32 private String value = "";
33
34 private Vector validArgs = null;
35
36 private String displayName = null;
37
38 private boolean isDefault = false;
39
40 public XInputOption() {
41
42 super();
43 }
44
45 public XInputOption(String value, String validargs, String displayName) {
46
47 setValue(value);
48 setValidArgs(validargs);
49 addText(displayName);
50 }
51
52 public void setCasesensitive(boolean b) {
53
54 setCaseSensitive(new Boolean(b));
55 }
56
57 public void setCaseSensitive(Boolean b) {
58
59 this.caseSensitive = b;
60 }
61
62 public Boolean getCaseSensitive() {
63
64 return this.caseSensitive;
65 }
66
67 public void setValue(String value) {
68
69 this.value = value;
70 }
71
72 public String getValue() {
73
74 if (value == null || value.equals("")) {
75 return displayName();
76 }
77
78 return this.value;
79 }
80
81 public void setValidArgs(String validargs) {
82
83 this.validArgs = StringUtils.split(validargs, ',');
84 }
85
86 public Vector getValidArgs() {
87
88 if (validArgs != null) {
89 return this.validArgs;
90 } else {
91 Vector v = new Vector();
92 v.add(getValue());
93 return v;
94 }
95 }
96
97 public void addText(String text) {
98
99 this.displayName = text;
100 }
101
102 public String displayName() {
103
104 return displayName;
105 }
106
107 public void setIsDefault(boolean b) {
108
109 this.isDefault = b;
110 }
111
112 public boolean isDefault() {
113
114 return this.isDefault;
115 }
116
117 public boolean acceptsInput(String input) {
118
119 if (input.equals("") && isDefault()) {
120 return true;
121 }
122
123 Iterator i = getValidArgs().iterator();
124 while (i.hasNext()) {
125 String arg = (String) i.next();
126 if (getCaseSensitive().booleanValue()) {
127 if (arg.equals(input)) {
128 return true;
129 }
130 } else {
131 if (arg.equalsIgnoreCase(input)) {
132 return true;
133 }
134 }
135 }
136 return false;
137 }
138 }