@@ -22,11 +22,7 @@ private ChunkerParameterParser() {} // no instance of this util class
22
22
* Parse String type parameter.
23
23
* Throw IllegalArgumentException if parameter is not a string or an empty string.
24
24
*/
25
- public static String parseStringParameter (final Map <String , Object > parameters , final String fieldName , final String defaultValue ) {
26
- if (!parameters .containsKey (fieldName )) {
27
- // all string parameters are optional
28
- return defaultValue ;
29
- }
25
+ public static String parseString (final Map <String , Object > parameters , final String fieldName ) {
30
26
Object fieldValue = parameters .get (fieldName );
31
27
if (!(fieldValue instanceof String )) {
32
28
throw new IllegalArgumentException (
@@ -40,14 +36,23 @@ public static String parseStringParameter(final Map<String, Object> parameters,
40
36
}
41
37
42
38
/**
43
- * Parse integer type parameter.
44
- * Throw IllegalArgumentException if parameter is not an integer.
39
+ * Parse String type parameter.
40
+ * Return default value if the parameter is missing.
41
+ * Throw IllegalArgumentException if parameter is not a string or an empty string.
45
42
*/
46
- public static int parseIntegerParameter (final Map <String , Object > parameters , final String fieldName , final int defaultValue ) {
43
+ public static String parseStringWithDefault (final Map <String , Object > parameters , final String fieldName , final String defaultValue ) {
47
44
if (!parameters .containsKey (fieldName )) {
48
- // all integer parameters are optional
45
+ // all string parameters are optional
49
46
return defaultValue ;
50
47
}
48
+ return parseString (parameters , fieldName );
49
+ }
50
+
51
+ /**
52
+ * Parse integer type parameter with default value.
53
+ * Throw IllegalArgumentException if the parameter is not an integer.
54
+ */
55
+ public static int parseInteger (final Map <String , Object > parameters , final String fieldName ) {
51
56
String fieldValueString = parameters .get (fieldName ).toString ();
52
57
try {
53
58
return NumberUtils .createInteger (fieldValueString );
@@ -58,27 +63,54 @@ public static int parseIntegerParameter(final Map<String, Object> parameters, fi
58
63
}
59
64
}
60
65
66
+ /**
67
+ * Parse integer type parameter with default value.
68
+ * Return default value if the parameter is missing.
69
+ * Throw IllegalArgumentException if the parameter is not an integer.
70
+ */
71
+ public static int parseIntegerWithDefault (final Map <String , Object > parameters , final String fieldName , final int defaultValue ) {
72
+ if (!parameters .containsKey (fieldName )) {
73
+ // return the default value when parameter is missing
74
+ return defaultValue ;
75
+ }
76
+ return parseInteger (parameters , fieldName );
77
+ }
78
+
61
79
/**
62
80
* Parse integer type parameter with positive value.
63
- * Throw IllegalArgumentException if parameter is not a positive integer.
81
+ * Return default value if the parameter is missing.
82
+ * Throw IllegalArgumentException if the parameter is not a positive integer.
64
83
*/
65
- public static int parsePositiveIntegerParameter (final Map <String , Object > parameters , final String fieldName , final int defaultValue ) {
66
- int fieldValueInt = parseIntegerParameter (parameters , fieldName , defaultValue );
84
+ public static int parsePositiveInteger (final Map <String , Object > parameters , final String fieldName ) {
85
+ int fieldValueInt = parseInteger (parameters , fieldName );
67
86
if (fieldValueInt <= 0 ) {
68
87
throw new IllegalArgumentException (String .format (Locale .ROOT , "Parameter [%s] must be positive." , fieldName ));
69
88
}
70
89
return fieldValueInt ;
71
90
}
72
91
73
92
/**
74
- * Parse double type parameter.
75
- * Throw IllegalArgumentException if parameter is not a double.
93
+ * Parse integer type parameter with positive value.
94
+ * Return default value if the parameter is missing.
95
+ * Throw IllegalArgumentException if the parameter is not a positive integer.
76
96
*/
77
- public static double parseDoubleParameter (final Map <String , Object > parameters , final String fieldName , final double defaultValue ) {
97
+ public static int parsePositiveIntegerWithDefault (
98
+ final Map <String , Object > parameters ,
99
+ final String fieldName ,
100
+ final Integer defaultValue
101
+ ) {
78
102
if (!parameters .containsKey (fieldName )) {
79
103
// all double parameters are optional
80
104
return defaultValue ;
81
105
}
106
+ return parsePositiveInteger (parameters , fieldName );
107
+ }
108
+
109
+ /**
110
+ * Parse double type parameter.
111
+ * Throw IllegalArgumentException if parameter is not a double.
112
+ */
113
+ public static double parseDouble (final Map <String , Object > parameters , final String fieldName ) {
82
114
String fieldValueString = parameters .get (fieldName ).toString ();
83
115
try {
84
116
return NumberUtils .createDouble (fieldValueString );
@@ -88,4 +120,17 @@ public static double parseDoubleParameter(final Map<String, Object> parameters,
88
120
);
89
121
}
90
122
}
123
+
124
+ /**
125
+ * Parse double type parameter.
126
+ * Return default value if the parameter is missing.
127
+ * Throw IllegalArgumentException if parameter is not a double.
128
+ */
129
+ public static double parseDoubleWithDefault (final Map <String , Object > parameters , final String fieldName , final double defaultValue ) {
130
+ if (!parameters .containsKey (fieldName )) {
131
+ // all double parameters are optional
132
+ return defaultValue ;
133
+ }
134
+ return parseDouble (parameters , fieldName );
135
+ }
91
136
}
0 commit comments