Skip to content

Commit 30868c5

Browse files
committed
Removed all static methods from the children of abstract methods
1 parent e30215d commit 30868c5

9 files changed

Lines changed: 36 additions & 73 deletions

src/com/cleancoder/args/Args.java

Lines changed: 2 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -88,27 +88,7 @@ public int nextArgument() {
8888
return currentArgument.nextIndex();
8989
}
9090

91-
public boolean getBoolean(char arg) {
92-
return BooleanArgumentMarshaler.getValue(marshalers.get(arg));
93-
}
94-
95-
public String getString(char arg) {
96-
return StringArgumentMarshaler.getValue(marshalers.get(arg));
97-
}
98-
99-
public int getInt(char arg) {
100-
return IntegerArgumentMarshaler.getValue(marshalers.get(arg));
101-
}
102-
103-
public double getDouble(char arg) {
104-
return DoubleArgumentMarshaler.getValue(marshalers.get(arg));
105-
}
106-
107-
public String[] getStringArray(char arg) {
108-
return StringArrayArgumentMarshaler.getValue(marshalers.get(arg));
109-
}
110-
111-
public Map<String, String> getMap(char arg) {
112-
return MapArgumentMarshaler.getValue(marshalers.get(arg));
91+
public <T> Object getValue(T arg) {
92+
return marshalers.get(arg).get();
11393
}
11494
}

src/com/cleancoder/args/ArgumentMarshaler.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
import java.util.Iterator;
44

5-
public interface ArgumentMarshaler {
5+
public interface ArgumentMarshaler<T> {
66
void set(Iterator<String> currentArgument) throws ArgsException;
7+
T get();
78
}

src/com/cleancoder/args/BooleanArgumentMarshaler.java

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,17 +2,14 @@
22

33
import java.util.Iterator;
44

5-
public class BooleanArgumentMarshaler implements ArgumentMarshaler {
5+
public class BooleanArgumentMarshaler implements ArgumentMarshaler<Boolean> {
66
private boolean booleanValue = false;
77

88
public void set(Iterator<String> currentArgument) throws ArgsException {
99
booleanValue = true;
1010
}
1111

12-
public static boolean getValue(ArgumentMarshaler am) {
13-
if (am != null && am instanceof BooleanArgumentMarshaler)
14-
return ((BooleanArgumentMarshaler) am).booleanValue;
15-
else
16-
return false;
12+
public Boolean get() {
13+
return booleanValue;
1714
}
1815
}

src/com/cleancoder/args/DoubleArgumentMarshaler.java

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
import java.util.*;
66

7-
public class DoubleArgumentMarshaler implements ArgumentMarshaler {
7+
public class DoubleArgumentMarshaler implements ArgumentMarshaler<Double> {
88
private double doubleValue = 0;
99

1010
public void set(Iterator<String> currentArgument) throws ArgsException {
@@ -19,10 +19,7 @@ public void set(Iterator<String> currentArgument) throws ArgsException {
1919
}
2020
}
2121

22-
public static double getValue(ArgumentMarshaler am) {
23-
if (am != null && am instanceof DoubleArgumentMarshaler)
24-
return ((DoubleArgumentMarshaler) am).doubleValue;
25-
else
26-
return 0.0;
22+
public Double get() {
23+
return doubleValue;
2724
}
2825
}

src/com/cleancoder/args/IntegerArgumentMarshaler.java

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
import java.util.*;
66

7-
public class IntegerArgumentMarshaler implements ArgumentMarshaler {
7+
public class IntegerArgumentMarshaler implements ArgumentMarshaler<Integer> {
88
private int intValue = 0;
99

1010
public void set(Iterator<String> currentArgument) throws ArgsException {
@@ -19,10 +19,7 @@ public void set(Iterator<String> currentArgument) throws ArgsException {
1919
}
2020
}
2121

22-
public static int getValue(ArgumentMarshaler am) {
23-
if (am != null && am instanceof IntegerArgumentMarshaler)
24-
return ((IntegerArgumentMarshaler) am).intValue;
25-
else
26-
return 0;
22+
public Integer get() {
23+
return intValue;
2724
}
2825
}

src/com/cleancoder/args/MapArgumentMarshaler.java

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,8 @@
77

88
import static com.cleancoder.args.ArgsException.ErrorCode.*;
99

10-
public class MapArgumentMarshaler implements ArgumentMarshaler {
11-
private Map<String, String> map = new HashMap<>();
10+
public class MapArgumentMarshaler implements ArgumentMarshaler<Map<String, String>> {
11+
private final Map<String, String> map = new HashMap<>();
1212

1313
public void set(Iterator<String> currentArgument) throws ArgsException {
1414
try {
@@ -24,10 +24,7 @@ public void set(Iterator<String> currentArgument) throws ArgsException {
2424
}
2525
}
2626

27-
public static Map<String, String> getValue(ArgumentMarshaler am) {
28-
if (am != null && am instanceof MapArgumentMarshaler)
29-
return ((MapArgumentMarshaler) am).map;
30-
else
31-
return new HashMap<>();
27+
public Map<String, String> get() {
28+
return map;
3229
}
3330
}

src/com/cleancoder/args/StringArgumentMarshaler.java

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55

66
import static com.cleancoder.args.ArgsException.ErrorCode.MISSING_STRING;
77

8-
public class StringArgumentMarshaler implements ArgumentMarshaler {
8+
public class StringArgumentMarshaler implements ArgumentMarshaler<String> {
99
private String stringValue = "";
1010

1111
public void set(Iterator<String> currentArgument) throws ArgsException {
@@ -16,10 +16,7 @@ public void set(Iterator<String> currentArgument) throws ArgsException {
1616
}
1717
}
1818

19-
public static String getValue(ArgumentMarshaler am) {
20-
if (am != null && am instanceof StringArgumentMarshaler)
21-
return ((StringArgumentMarshaler) am).stringValue;
22-
else
23-
return "";
19+
public String get() {
20+
return stringValue;
2421
}
2522
}

src/com/cleancoder/args/StringArrayArgumentMarshaler.java

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@
44

55
import java.util.*;
66

7-
public class StringArrayArgumentMarshaler implements ArgumentMarshaler {
8-
private List<String> strings = new ArrayList<String>();
7+
public class StringArrayArgumentMarshaler implements ArgumentMarshaler<String[]> {
8+
private final List<String> strings = new ArrayList<String>();
99

1010
public void set(Iterator<String> currentArgument) throws ArgsException {
1111
try {
@@ -15,10 +15,7 @@ public void set(Iterator<String> currentArgument) throws ArgsException {
1515
}
1616
}
1717

18-
public static String[] getValue(ArgumentMarshaler am) {
19-
if (am != null && am instanceof StringArrayArgumentMarshaler)
20-
return ((StringArrayArgumentMarshaler) am).strings.toArray(new String[0]);
21-
else
22-
return new String[0];
18+
public String[] get() {
19+
return strings.toArray(new String[0]);
2320
}
2421
}

test/com/cleancoder/args/ArgsTest.java

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -63,15 +63,15 @@ public void testInvalidArgumentFormat() {
6363
@Test
6464
public void testSimpleBooleanPresent() throws Exception {
6565
Args args = new Args("x", new String[]{"-x"});
66-
assertEquals(true, args.getBoolean('x'));
66+
assertEquals(true, args.getValue('x'));
6767
assertEquals(1, args.nextArgument());
6868
}
6969

7070
@Test
7171
public void testSimpleStringPresent() throws Exception {
7272
Args args = new Args("x*", new String[]{"-x", "param"});
7373
assertTrue(args.has('x'));
74-
assertEquals("param", args.getString('x'));
74+
assertEquals("param", args.getValue('x'));
7575
assertEquals(2, args.nextArgument());
7676
}
7777

@@ -98,7 +98,7 @@ public void testSpacesInFormat() throws Exception {
9898
public void testSimpleIntPresent() throws Exception {
9999
Args args = new Args("x#", new String[]{"-x", "42"});
100100
assertTrue(args.has('x'));
101-
assertEquals(42, args.getInt('x'));
101+
assertEquals(42, args.getValue('x'));
102102
assertEquals(2, args.nextArgument());
103103
}
104104

@@ -130,7 +130,7 @@ public void testMissingInteger() {
130130
public void testSimpleDoublePresent() throws Exception {
131131
Args args = new Args("x##", new String[]{"-x", "42.3"});
132132
assertTrue(args.has('x'));
133-
assertEquals(42.3, args.getDouble('x'), .001);
133+
assertEquals(42.3, (Double) args.getValue('x'), .001);
134134
}
135135

136136
@Test
@@ -160,7 +160,7 @@ public void testMissingDouble() {
160160
public void testStringArray() throws Exception {
161161
Args args = new Args("x[*]", new String[]{"-x", "alpha"});
162162
assertTrue(args.has('x'));
163-
String[] result = args.getStringArray('x');
163+
String[] result = (String[]) args.getValue('x');
164164
assertEquals(1, result.length);
165165
assertEquals("alpha", result[0]);
166166
}
@@ -180,7 +180,7 @@ public void testMissingStringArrayElement() {
180180
public void manyStringArrayElements() throws Exception {
181181
Args args = new Args("x[*]", new String[]{"-x", "alpha", "-x", "beta", "-x", "gamma"});
182182
assertTrue(args.has('x'));
183-
String[] result = args.getStringArray('x');
183+
String[] result = (String []) args.getValue('x');
184184
assertEquals(3, result.length);
185185
assertEquals("alpha", result[0]);
186186
assertEquals("beta", result[1]);
@@ -191,7 +191,7 @@ public void manyStringArrayElements() throws Exception {
191191
public void MapArgument() throws Exception {
192192
Args args = new Args("f&", new String[]{"-f", "key1:val1,key2:val2"});
193193
assertTrue(args.has('f'));
194-
Map<String, String> map = args.getMap('f');
194+
Map<String, String> map = (Map<String, String>) args.getValue('f');
195195
assertEquals("val1", map.get("key1"));
196196
assertEquals("val2", map.get("key2"));
197197
}
@@ -205,15 +205,15 @@ public void malFormedMapArgument() throws Exception {
205205
public void oneMapArgument() throws Exception {
206206
Args args = new Args("f&", new String[]{"-f", "key1:val1"});
207207
assertTrue(args.has('f'));
208-
Map<String, String> map = args.getMap('f');
208+
Map<String, String> map = (Map<String, String>) args.getValue('f');
209209
assertEquals("val1", map.get("key1"));
210210
}
211211

212212
@Test
213213
public void testExtraArguments() throws Exception {
214214
Args args = new Args("x,y*", new String[]{"-x", "-y", "alpha", "beta"});
215-
assertTrue(args.getBoolean('x'));
216-
assertEquals("alpha", args.getString('y'));
215+
assertTrue((Boolean) args.getValue('x'));
216+
assertEquals("alpha", args.getValue('y'));
217217
assertEquals(3, args.nextArgument());
218218
}
219219

@@ -222,8 +222,8 @@ public void testExtraArgumentsThatLookLikeFlags() throws Exception {
222222
Args args = new Args("x,y", new String[]{"-x", "alpha", "-y", "beta"});
223223
assertTrue(args.has('x'));
224224
assertFalse(args.has('y'));
225-
assertTrue(args.getBoolean('x'));
226-
assertFalse(args.getBoolean('y'));
225+
assertTrue((Boolean)args.getValue('x'));
226+
assertFalse((Boolean)args.getValue('y'));
227227
assertEquals(1, args.nextArgument());
228228
}
229229
}

0 commit comments

Comments
 (0)