org.openapijsonschematools.client.components.schemas.ApiResponseSchema.java
public class ApiResponseSchema
A class that contains necessary nested
- schema classes (which validate payloads), extends JsonSchema
- sealed interfaces which store validated payloads, java version of a sum type
- boxed classes which store validated payloads, sealed permits class implementations
- classes to store validated map payloads, extends FrozenMap
- classes to build inputs for map payloads
Modifier and Type | Class and Description |
---|---|
sealed interface | ApiResponseSchema.ApiResponseSchema1Boxed sealed interface for validated payloads |
record | ApiResponseSchema.ApiResponseSchema1BoxedMap boxed class to store validated Map payloads |
static class | ApiResponseSchema.ApiResponseSchema1 schema class |
static class | ApiResponseSchema.ApiResponseMapBuilder builder for Map payloads |
static class | ApiResponseSchema.ApiResponseMap output class for Map payloads |
sealed interface | ApiResponseSchema.MessageBoxed sealed interface for validated payloads |
record | ApiResponseSchema.MessageBoxedString boxed class to store validated String payloads |
static class | ApiResponseSchema.Message schema class |
sealed interface | ApiResponseSchema.TypeBoxed sealed interface for validated payloads |
record | ApiResponseSchema.TypeBoxedString boxed class to store validated String payloads |
static class | ApiResponseSchema.Type schema class |
sealed interface | ApiResponseSchema.CodeBoxed sealed interface for validated payloads |
record | ApiResponseSchema.CodeBoxedNumber boxed class to store validated Number payloads |
static class | ApiResponseSchema.Code schema class |
public sealed interface ApiResponseSchema1Boxed
permits
ApiResponseSchema1BoxedMap
sealed interface that stores validated payloads using boxed classes
public record ApiResponseSchema1BoxedMap
implements ApiResponseSchema1Boxed
record that stores validated Map payloads, sealed permits implementation
Constructor and Description |
---|
ApiResponseSchema1BoxedMap(ApiResponseMap data) Creates an instance, private visibility |
Modifier and Type | Method and Description |
---|---|
ApiResponseMap | data() validated payload |
@Nullable Object | getData() validated payload |
public static class ApiResponseSchema1
extends JsonSchema
A schema class that validates payloads
import org.openapijsonschematools.client.configurations.JsonSchemaKeywordFlags;
import org.openapijsonschematools.client.configurations.SchemaConfiguration;
import org.openapijsonschematools.client.exceptions.ValidationException;
import org.openapijsonschematools.client.schemas.validation.MapUtils;
import org.openapijsonschematools.client.schemas.validation.FrozenList;
import org.openapijsonschematools.client.schemas.validation.FrozenMap;
import org.openapijsonschematools.client.components.schemas.ApiResponseSchema;
import java.util.Arrays;
import java.util.List;
import java.util.AbstractMap;
static final SchemaConfiguration configuration = new SchemaConfiguration(new JsonSchemaKeywordFlags.Builder().build());
// Map validation
ApiResponseSchema.ApiResponseMap validatedPayload =
ApiResponseSchema.ApiResponseSchema1.validate(
new ApiResponseSchema.ApiResponseMapBuilder()
.code(1)
.type("a")
.message("a")
.build(),
configuration
);
Modifier and Type | Field and Description |
---|---|
Set<Class<?>> | type = Set.of(Map.class) |
Map<String, Class<? extends JsonSchema>> | properties = Map.ofEntries( new PropertyEntry("code", Code.class)), new PropertyEntry("type", Type.class)), new PropertyEntry("message", Message.class)) ) |
Modifier and Type | Method and Description |
---|---|
ApiResponseMap | validate(Map<?, ?> arg, SchemaConfiguration configuration) |
ApiResponseSchema1BoxedMap | validateAndBox(Map<?, ?> arg, SchemaConfiguration configuration) |
ApiResponseSchema1Boxed | validateAndBox(@Nullable Object arg, SchemaConfiguration configuration) |
@Nullable Object | validate(@Nullable Object arg, SchemaConfiguration configuration) |
public class ApiResponseMapBuilder
builder for Map<String, @Nullable Object>
A class that builds the Map input type
Constructor and Description |
---|
ApiResponseMapBuilder() Creates a builder that contains an empty map |
Modifier and Type | Method and Description |
---|---|
Map<String, @Nullable Object> | build() Returns map input that should be used with Schema.validate |
ApiResponseMapBuilder | code(int value) |
ApiResponseMapBuilder | code(float value) |
ApiResponseMapBuilder | type(String value) |
ApiResponseMapBuilder | message(String value) |
ApiResponseMapBuilder | additionalProperty(String key, Void value) |
ApiResponseMapBuilder | additionalProperty(String key, boolean value) |
ApiResponseMapBuilder | additionalProperty(String key, String value) |
ApiResponseMapBuilder | additionalProperty(String key, int value) |
ApiResponseMapBuilder | additionalProperty(String key, float value) |
ApiResponseMapBuilder | additionalProperty(String key, long value) |
ApiResponseMapBuilder | additionalProperty(String key, double value) |
ApiResponseMapBuilder | additionalProperty(String key, List<?> value) |
ApiResponseMapBuilder | additionalProperty(String key, Map<String, ?> value) |
public static class ApiResponseMap
extends FrozenMap<String, @Nullable Object>
A class to store validated Map payloads
Modifier and Type | Method and Description |
---|---|
static ApiResponseMap | of(Map<String, ? extends @Nullable Object> arg, SchemaConfiguration configuration) |
Number | code() [optional] value must be a 32 bit integer |
String | type() [optional] |
String | message() [optional] |
@Nullable Object | getAdditionalProperty(String name) provides type safety for additional properties |
public sealed interface MessageBoxed
permits
MessageBoxedString
sealed interface that stores validated payloads using boxed classes
public record MessageBoxedString
implements MessageBoxed
record that stores validated String payloads, sealed permits implementation
Constructor and Description |
---|
MessageBoxedString(String data) Creates an instance, private visibility |
Modifier and Type | Method and Description |
---|---|
String | data() validated payload |
@Nullable Object | getData() validated payload |
public static class Message
extends StringJsonSchema.StringJsonSchema1
A schema class that validates payloads
Methods Inherited from class org.openapijsonschematools.client.schemas.StringJsonSchema.StringJsonSchema1 |
---|
validate |
validateAndBox |
public sealed interface TypeBoxed
permits
TypeBoxedString
sealed interface that stores validated payloads using boxed classes
public record TypeBoxedString
implements TypeBoxed
record that stores validated String payloads, sealed permits implementation
Constructor and Description |
---|
TypeBoxedString(String data) Creates an instance, private visibility |
Modifier and Type | Method and Description |
---|---|
String | data() validated payload |
@Nullable Object | getData() validated payload |
public static class Type
extends StringJsonSchema.StringJsonSchema1
A schema class that validates payloads
Methods Inherited from class org.openapijsonschematools.client.schemas.StringJsonSchema.StringJsonSchema1 |
---|
validate |
validateAndBox |
public sealed interface CodeBoxed
permits
CodeBoxedNumber
sealed interface that stores validated payloads using boxed classes
public record CodeBoxedNumber
implements CodeBoxed
record that stores validated Number payloads, sealed permits implementation
Constructor and Description |
---|
CodeBoxedNumber(Number data) Creates an instance, private visibility |
Modifier and Type | Method and Description |
---|---|
Number | data() validated payload |
@Nullable Object | getData() validated payload |
public static class Code
extends Int32JsonSchema.Int32JsonSchema1
A schema class that validates payloads
Methods Inherited from class org.openapijsonschematools.client.schemas.Int32JsonSchema.Int32JsonSchema1 |
---|
validate |
validateAndBox |