Skip to content

Commit b2f27a7

Browse files
authored
Merge pull request #24 from sidhant92/array_support
support for strict data type checking
2 parents e3242ae + d9fa239 commit b2f27a7

File tree

7 files changed

+40
-1
lines changed

7 files changed

+40
-1
lines changed

src/main/java/com/github/sidhant92/boolparser/datatype/AbstractDataType.java

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,10 +18,17 @@ public AbstractDataType(final Class<T> clazz) {
1818
}
1919

2020
public boolean defaultIsValid(final Object value, final ObjectMapper objectMapper) {
21+
return defaultIsValid(value, objectMapper, false);
22+
}
23+
24+
public boolean defaultIsValid(final Object value, final ObjectMapper objectMapper, final boolean useStrictValidation) {
2125
try {
2226
if (clazz.isInstance(value)) {
2327
return true;
2428
}
29+
if (useStrictValidation) {
30+
return false;
31+
}
2532
return objectMapper.convertValue(value, clazz) != null;
2633
} catch (final Exception ex) {
2734
log.error("Unable to convert value = {} to type = {}", value, clazz);
@@ -45,5 +52,7 @@ public Optional<T> defaultGetValue(final Object value, final ObjectMapper object
4552

4653
public abstract boolean isValid(final Object value);
4754

55+
public abstract boolean isValid(final Object value, final boolean useStrictValidation);
56+
4857
public abstract Optional<T> getValue(final Object value);
4958
}

src/main/java/com/github/sidhant92/boolparser/datatype/BooleanDataType.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,11 @@ public boolean isValid(final Object value) {
2626
return super.defaultIsValid(value, objectMapper);
2727
}
2828

29+
@Override
30+
public boolean isValid(final Object value, final boolean useStrictValidation) {
31+
return super.defaultIsValid(value, objectMapper, useStrictValidation);
32+
}
33+
2934
@Override
3035
public Optional<Boolean> getValue(Object value) {
3136
return defaultGetValue(value, objectMapper);

src/main/java/com/github/sidhant92/boolparser/datatype/DecimalDataType.java

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,14 +18,19 @@ public DecimalDataType(final ObjectMapper objectMapper) {
1818

1919
@Override
2020
public DataType getDataType() {
21-
return DataType.STRING;
21+
return DataType.DECIMAL;
2222
}
2323

2424
@Override
2525
public boolean isValid(final Object value) {
2626
return super.defaultIsValid(value, objectMapper);
2727
}
2828

29+
@Override
30+
public boolean isValid(final Object value, final boolean useStrictValidation) {
31+
return super.defaultIsValid(value, objectMapper, useStrictValidation);
32+
}
33+
2934
@Override
3035
public Optional<Double> getValue(Object value) {
3136
return defaultGetValue(value, objectMapper);

src/main/java/com/github/sidhant92/boolparser/datatype/IntegerDataType.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,11 @@ public boolean isValid(final Object value) {
2626
return super.defaultIsValid(value, objectMapper);
2727
}
2828

29+
@Override
30+
public boolean isValid(final Object value, final boolean useStrictValidation) {
31+
return super.defaultIsValid(value, objectMapper, useStrictValidation);
32+
}
33+
2934
@Override
3035
public Optional<Integer> getValue(Object value) {
3136
return defaultGetValue(value, objectMapper);

src/main/java/com/github/sidhant92/boolparser/datatype/LongDataType.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,11 @@ public boolean isValid(final Object value) {
2626
return super.defaultIsValid(value, objectMapper);
2727
}
2828

29+
@Override
30+
public boolean isValid(final Object value, final boolean useStrictValidation) {
31+
return super.defaultIsValid(value, objectMapper, useStrictValidation);
32+
}
33+
2934
@Override
3035
public Optional<Long> getValue(Object value) {
3136
return defaultGetValue(value, objectMapper);

src/main/java/com/github/sidhant92/boolparser/datatype/StringDataType.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,11 @@ public boolean isValid(final Object value) {
2626
return super.defaultIsValid(value, objectMapper);
2727
}
2828

29+
@Override
30+
public boolean isValid(final Object value, final boolean useStrictValidation) {
31+
return super.defaultIsValid(value, objectMapper, useStrictValidation);
32+
}
33+
2934
@Override
3035
public Optional<String> getValue(Object value) {
3136
return defaultGetValue(value, objectMapper);

src/main/java/com/github/sidhant92/boolparser/datatype/VersionDataType.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,11 @@ public boolean isValid(final Object value) {
2727
return super.defaultIsValid(value, objectMapper);
2828
}
2929

30+
@Override
31+
public boolean isValid(final Object value, final boolean useStrictValidation) {
32+
return super.defaultIsValid(value, objectMapper, useStrictValidation);
33+
}
34+
3035
@Override
3136
public Optional<ComparableVersion> getValue(Object value) {
3237
return defaultGetValue(value, objectMapper);

0 commit comments

Comments
 (0)