Skip to content

Commit 450de03

Browse files
committed
addd
1 parent 1fe1eea commit 450de03

File tree

4 files changed

+5
-10
lines changed

4 files changed

+5
-10
lines changed
Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,12 @@
11
package hexlet.code.schemas;
22

3-
public abstract class BaseSchema<T extends BaseSchema<T>> {
3+
public abstract class BaseSchema<T> {
44
protected boolean isRequired = false;
55

6-
@SuppressWarnings("unchecked")
76
public T required() {
87
this.isRequired = true;
98
return (T) this;
109
}
1110

12-
protected boolean checkRequired(Object value) {
13-
return !isRequired || value != null;
14-
}
15-
1611
public abstract boolean isValid(Object value);
1712
}

app/src/main/java/hexlet/code/schemas/MapSchema.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ public class MapSchema extends BaseSchema<MapSchema> {
88

99
@Override
1010
public boolean isValid(Object value) {
11-
if (!checkRequired(value)) {
11+
if (isRequired && value == null) {
1212
return false;
1313
}
1414
if (value == null) {
@@ -24,7 +24,7 @@ public boolean isValid(Object value) {
2424
if (schemas != null) {
2525
for (Map.Entry<String, BaseSchema<?>> entry : schemas.entrySet()) {
2626
String key = entry.getKey();
27-
BaseSchema<?> schema = entry.getValue();
27+
BaseSchema<String> schema = (BaseSchema<String>) entry.getValue();
2828
if (!map.containsKey(key) || !schema.isValid(map.get(key))) {
2929
return false;
3030
}

app/src/main/java/hexlet/code/schemas/NumberSchema.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ public NumberSchema range(int min, int max) {
1818

1919
@Override
2020
public boolean isValid(Object value) {
21-
if (!checkRequired(value)) {
21+
if (isRequired && value == null) {
2222
return false;
2323
}
2424
if (value == null) {

app/src/main/java/hexlet/code/schemas/StringSchema.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ public StringSchema contains(String substring) {
1616

1717
@Override
1818
public boolean isValid(Object value) {
19-
if (!checkRequired(value)) {
19+
if (isRequired && value == null) {
2020
return false;
2121
}
2222
if (value == null) {

0 commit comments

Comments
 (0)