diff --git a/core/pom.xml b/core/pom.xml
index edefe080f..e6089c9e3 100644
--- a/core/pom.xml
+++ b/core/pom.xml
@@ -166,6 +166,30 @@
true
true
+
+ METHOD_REMOVED
+ true
+ true
+ MAJOR
+
+
+ METHOD_RETURN_TYPE_CHANGED
+ true
+ true
+ MAJOR
+
+
+ CONSTRUCTOR_REMOVED
+ true
+ true
+ MAJOR
+
+
+ METHOD_ABSTRACT_ADDED_TO_CLASS
+ true
+ true
+ MAJOR
+
diff --git a/core/src/main/java/org/everit/json/schema/ArraySchema.java b/core/src/main/java/org/everit/json/schema/ArraySchema.java
index a6f83ac6c..9b254f4bf 100644
--- a/core/src/main/java/org/everit/json/schema/ArraySchema.java
+++ b/core/src/main/java/org/everit/json/schema/ArraySchema.java
@@ -16,7 +16,7 @@ public class ArraySchema extends Schema {
/**
* Builder class for {@link ArraySchema}.
*/
- public static class Builder extends Schema.Builder {
+ public static class Builder extends Schema.Builder {
private boolean requiresArray = true;
@@ -36,6 +36,12 @@ public static class Builder extends Schema.Builder {
private Schema containedItemSchema;
+ @Override
+ protected Builder getBuilder()
+ {
+ return this;
+ }
+
/**
* Adds an item schema for tuple validation. The array items of the subject under validation
* will be matched to expected schemas by their index. In other words the {n}th
diff --git a/core/src/main/java/org/everit/json/schema/BooleanSchema.java b/core/src/main/java/org/everit/json/schema/BooleanSchema.java
index 73ae4dbec..b7d2584bb 100644
--- a/core/src/main/java/org/everit/json/schema/BooleanSchema.java
+++ b/core/src/main/java/org/everit/json/schema/BooleanSchema.java
@@ -12,7 +12,13 @@ public class BooleanSchema extends Schema {
/**
* Builder class for {@link BooleanSchema}.
*/
- public static class Builder extends Schema.Builder {
+ public static class Builder extends Schema.Builder {
+
+ @Override
+ protected Builder getBuilder()
+ {
+ return this;
+ }
@Override
public BooleanSchema build() {
diff --git a/core/src/main/java/org/everit/json/schema/CombinedSchema.java b/core/src/main/java/org/everit/json/schema/CombinedSchema.java
index b7e12694a..c996cf0ed 100644
--- a/core/src/main/java/org/everit/json/schema/CombinedSchema.java
+++ b/core/src/main/java/org/everit/json/schema/CombinedSchema.java
@@ -16,7 +16,7 @@ public class CombinedSchema extends Schema {
/**
* Builder class for {@link CombinedSchema}.
*/
- public static class Builder extends Schema.Builder {
+ public static class Builder extends Schema.Builder {
private ValidationCriterion criterion;
@@ -24,6 +24,12 @@ public static class Builder extends Schema.Builder {
private boolean synthetic;
+ @Override
+ protected Builder getBuilder()
+ {
+ return this;
+ }
+
@Override
public CombinedSchema build() {
return new CombinedSchema(this);
diff --git a/core/src/main/java/org/everit/json/schema/ConditionalSchema.java b/core/src/main/java/org/everit/json/schema/ConditionalSchema.java
index f0e5a6988..ec6059758 100644
--- a/core/src/main/java/org/everit/json/schema/ConditionalSchema.java
+++ b/core/src/main/java/org/everit/json/schema/ConditionalSchema.java
@@ -10,11 +10,17 @@ public class ConditionalSchema extends Schema {
/**
* Builder class for {@link ConditionalSchema}.
*/
- public static class Builder extends Schema.Builder {
+ public static class Builder extends Schema.Builder {
private Schema ifSchema;
private Schema thenSchema;
private Schema elseSchema;
+ @Override
+ protected Builder getBuilder()
+ {
+ return this;
+ }
+
public Builder ifSchema(final Schema ifSchema) {
this.ifSchema = ifSchema;
return this;
diff --git a/core/src/main/java/org/everit/json/schema/ConstSchema.java b/core/src/main/java/org/everit/json/schema/ConstSchema.java
index 0496e73e5..7a5c165d8 100644
--- a/core/src/main/java/org/everit/json/schema/ConstSchema.java
+++ b/core/src/main/java/org/everit/json/schema/ConstSchema.java
@@ -4,27 +4,40 @@
public class ConstSchema extends Schema {
- public static class ConstSchemaBuilder extends Schema.Builder {
+ /**
+ * @deprecated This class has been renamed to "Builder".
+ */
+ @Deprecated
+ public static class ConstSchemaBuilder extends Builder {
+ }
+
+ public static class Builder extends Schema.Builder {
private Object permittedValue;
- public ConstSchemaBuilder permittedValue(Object permittedValue) {
+ public Builder permittedValue(Object permittedValue) {
this.permittedValue = permittedValue;
return this;
}
+ @Override
+ protected Builder getBuilder()
+ {
+ return this;
+ }
+
@Override public ConstSchema build() {
return new ConstSchema(this);
}
}
- public static ConstSchemaBuilder builder() {
- return new ConstSchemaBuilder();
+ public static Builder builder() {
+ return new Builder();
}
private final Object permittedValue;
- protected ConstSchema(ConstSchemaBuilder builder) {
+ protected ConstSchema(Builder builder) {
super(builder);
this.permittedValue = toJavaValue(builder.permittedValue);
}
diff --git a/core/src/main/java/org/everit/json/schema/EmptySchema.java b/core/src/main/java/org/everit/json/schema/EmptySchema.java
index 9aa4bcf30..bafb91d93 100644
--- a/core/src/main/java/org/everit/json/schema/EmptySchema.java
+++ b/core/src/main/java/org/everit/json/schema/EmptySchema.java
@@ -10,7 +10,13 @@ public class EmptySchema extends Schema {
/**
* Builder class for {@link EmptySchema}.
*/
- public static class Builder extends Schema.Builder {
+ public static class Builder extends Schema.Builder {
+
+ @Override
+ protected Builder getBuilder()
+ {
+ return this;
+ }
@Override
public EmptySchema build() {
diff --git a/core/src/main/java/org/everit/json/schema/EnumSchema.java b/core/src/main/java/org/everit/json/schema/EnumSchema.java
index c74c723e3..91eccad5b 100644
--- a/core/src/main/java/org/everit/json/schema/EnumSchema.java
+++ b/core/src/main/java/org/everit/json/schema/EnumSchema.java
@@ -38,7 +38,13 @@ static List