@@ -1021,12 +1021,7 @@ protected JsonToken _handleNamedValue() throws IOException
1021
1021
}
1022
1022
}
1023
1023
_state = STATE_NEXT_ENTRY ;
1024
- if (_nullValue != null ) {
1025
- if (_nullValue .equals (_currentValue )) {
1026
- return JsonToken .VALUE_NULL ;
1027
- }
1028
- }
1029
- if (_cfgEmptyStringAsNull && "" .equals (_currentValue )) {
1024
+ if (_isNullValue (_currentValue )) {
1030
1025
return JsonToken .VALUE_NULL ;
1031
1026
}
1032
1027
return JsonToken .VALUE_STRING ;
@@ -1048,12 +1043,7 @@ protected JsonToken _handleUnnamedValue() throws IOException
1048
1043
// state remains the same
1049
1044
_currentValue = next ;
1050
1045
++_columnIndex ;
1051
- if (_nullValue != null ) {
1052
- if (_nullValue .equals (next )) {
1053
- return JsonToken .VALUE_NULL ;
1054
- }
1055
- }
1056
- if (_cfgEmptyStringAsNull && "" .equals (_currentValue )) {
1046
+ if (_isNullValue (next )) {
1057
1047
return JsonToken .VALUE_NULL ;
1058
1048
}
1059
1049
return JsonToken .VALUE_STRING ;
@@ -1093,12 +1083,7 @@ protected JsonToken _handleArrayValue() throws IOException
1093
1083
if (isEnabled (Feature .TRIM_SPACES )) {
1094
1084
_currentValue = _currentValue .trim ();
1095
1085
}
1096
- if (_nullValue != null ) {
1097
- if (_nullValue .equals (_currentValue )) {
1098
- return JsonToken .VALUE_NULL ;
1099
- }
1100
- }
1101
- if (_cfgEmptyStringAsNull && "" .equals (_currentValue )) {
1086
+ if (_isNullValue (_currentValue )) {
1102
1087
return JsonToken .VALUE_NULL ;
1103
1088
}
1104
1089
return JsonToken .VALUE_STRING ;
@@ -1448,4 +1433,23 @@ protected void _startArray(CsvSchema.Column column)
1448
1433
}
1449
1434
_arraySeparator = sep ;
1450
1435
}
1436
+
1437
+
1438
+ /**
1439
+ * Helper method called to check whether specified String value should be considered
1440
+ * "null" value, if so configured.
1441
+ *
1442
+ * @since 2.17.1
1443
+ */
1444
+ protected boolean _isNullValue (String value ) {
1445
+ if (_nullValue != null ) {
1446
+ if (_nullValue .equals (value )) {
1447
+ return true ;
1448
+ }
1449
+ }
1450
+ if (_cfgEmptyStringAsNull && _currentValue .isEmpty ()) {
1451
+ return true ;
1452
+ }
1453
+ return false ;
1454
+ }
1451
1455
}
0 commit comments