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(JsonSchemaKeywordFlags.ofNone());
// 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 |