Skip to content
This repository was archived by the owner on Dec 25, 2024. It is now read-only.

Commit 87f922c

Browse files
committed
Requires validateToBoxed in JsonSchema
1 parent 8a7ed6d commit 87f922c

File tree

4 files changed

+10
-5
lines changed

4 files changed

+10
-5
lines changed

samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/schemas/AnyTypeJsonSchema.java

+4-2
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@
3030
import java.util.Objects;
3131
import java.util.UUID;
3232

33-
public class AnyTypeJsonSchema extends JsonSchema implements NullSchemaValidator, BooleanSchemaValidator, NumberSchemaValidator, StringSchemaValidator, ListSchemaValidator<FrozenList<@Nullable Object>>, MapSchemaValidator<FrozenMap<@Nullable Object>> {
33+
public class AnyTypeJsonSchema extends JsonSchema<AnyTypeJsonSchema.AnyTypeBoxed> implements NullSchemaValidator, BooleanSchemaValidator, NumberSchemaValidator, StringSchemaValidator, ListSchemaValidator<FrozenList<@Nullable Object>>, MapSchemaValidator<FrozenMap<@Nullable Object>> {
3434
private static @Nullable AnyTypeJsonSchema instance = null;
3535

3636
protected AnyTypeJsonSchema() {
@@ -131,7 +131,7 @@ public String validate(UUID arg, SchemaConfiguration configuration) throws Valid
131131
if (schemas == null) {
132132
throw new InvalidTypeException("Validation result is invalid, schemas must exist for a pathToItem");
133133
}
134-
JsonSchema itemSchema = schemas.entrySet().iterator().next().getKey();
134+
JsonSchema<?> itemSchema = schemas.entrySet().iterator().next().getKey();
135135
@Nullable Object castItem = itemSchema.getNewInstance(item, itemPathToItem, pathToSchemas);
136136
items.add(castItem);
137137
i += 1;
@@ -260,6 +260,8 @@ private AnyTypeBoxedMap(FrozenMap<@Nullable Object> data) {
260260
this.data = data;
261261
}
262262
}
263+
264+
@Override
263265
public AnyTypeBoxed validateToBoxed(@Nullable Object arg, SchemaConfiguration configuration) throws ValidationException, InvalidTypeException {
264266
if (arg == null) {
265267
return new AnyTypeBoxedVoid(validate((Void) null, configuration));

samples/client/petstore/java/src/main/java/org/openapijsonschematools/client/schemas/validation/JsonSchema.java

+2-1
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
import java.util.UUID;
1818
import java.util.regex.Pattern;
1919

20-
public abstract class JsonSchema {
20+
public abstract class JsonSchema<T> {
2121
public final @Nullable Set<Class<?>> type;
2222
public final @Nullable String format;
2323
public final @Nullable Class<? extends JsonSchema> items;
@@ -223,6 +223,7 @@ protected JsonSchema(JsonSchemaInfo jsonSchemaInfo) {
223223

224224
public abstract @Nullable Object getNewInstance(@Nullable Object arg, List<Object> pathToItem, PathToSchemasMap pathToSchemas) throws InvalidTypeException;
225225
public abstract @Nullable Object validate(@Nullable Object arg, SchemaConfiguration configuration) throws InvalidTypeException, ValidationException;
226+
public abstract T validateToBoxed(@Nullable Object arg, SchemaConfiguration configuration) throws InvalidTypeException, ValidationException;
226227

227228
private List<PathToSchemasMap> getContainsPathToSchemas(
228229
@Nullable Object arg,

src/main/resources/java/src/main/java/packagename/schemas/AnyTypeJsonSchema.hbs

+2-1
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ import java.util.Map;
3030
import java.util.Objects;
3131
import java.util.UUID;
3232

33-
public class AnyTypeJsonSchema extends JsonSchema implements NullSchemaValidator, BooleanSchemaValidator, NumberSchemaValidator, StringSchemaValidator, ListSchemaValidator<FrozenList<@Nullable Object>>, MapSchemaValidator<FrozenMap<@Nullable Object>> {
33+
public class AnyTypeJsonSchema extends JsonSchemaJsonSchema<AnyTypeJsonSchema.AnyTypeBoxed> implements NullSchemaValidator, BooleanSchemaValidator, NumberSchemaValidator, StringSchemaValidator, ListSchemaValidator<FrozenList<@Nullable Object>>, MapSchemaValidator<FrozenMap<@Nullable Object>> {
3434
private static @Nullable AnyTypeJsonSchema instance = null;
3535

3636
protected AnyTypeJsonSchema() {
@@ -260,6 +260,7 @@ public class AnyTypeJsonSchema extends JsonSchema implements NullSchemaValidator
260260
this.data = data;
261261
}
262262
}
263+
@Override
263264
public AnyTypeBoxed validateToBoxed(@Nullable Object arg, SchemaConfiguration configuration) throws ValidationException, InvalidTypeException {
264265
if (arg == null) {
265266
return new AnyTypeBoxedVoid(validate((Void) null, configuration));

src/main/resources/java/src/main/java/packagename/schemas/validation/JsonSchema.hbs

+2-1
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ import java.util.Set;
1717
import java.util.UUID;
1818
import java.util.regex.Pattern;
1919

20-
public abstract class JsonSchema {
20+
public abstract class JsonSchema<T> {
2121
public final @Nullable Set<Class<?>> type;
2222
public final @Nullable String format;
2323
public final @Nullable Class<? extends JsonSchema> items;
@@ -223,6 +223,7 @@ public abstract class JsonSchema {
223223

224224
public abstract @Nullable Object getNewInstance(@Nullable Object arg, List<Object> pathToItem, PathToSchemasMap pathToSchemas) throws InvalidTypeException;
225225
public abstract @Nullable Object validate(@Nullable Object arg, SchemaConfiguration configuration) throws InvalidTypeException, ValidationException;
226+
public abstract T validateToBoxed(@Nullable Object arg, SchemaConfiguration configuration) throws InvalidTypeException, ValidationException;
226227

227228
private List<PathToSchemasMap> getContainsPathToSchemas(
228229
@Nullable Object arg,

0 commit comments

Comments
 (0)