org.openapijsonschematools.client.components.schemas.ItemsSchema.java
public class ItemsSchema
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 | ItemsSchema.ItemsSchema1Boxed sealed interface for validated payloads |
record | ItemsSchema.ItemsSchema1BoxedMap boxed class to store validated Map payloads |
static class | ItemsSchema.ItemsSchema1 schema class |
static class | ItemsSchema.ItemsSchemaMapBuilder builder for Map payloads |
static class | ItemsSchema.ItemsSchemaMap output class for Map payloads |
sealed interface | ItemsSchema.SecondAdditionalPropertyBoxed sealed interface for validated payloads |
record | ItemsSchema.SecondAdditionalPropertyBoxedString boxed class to store validated String payloads |
static class | ItemsSchema.SecondAdditionalProperty schema class |
sealed interface | ItemsSchema.SomePropertyBoxed sealed interface for validated payloads |
record | ItemsSchema.SomePropertyBoxedString boxed class to store validated String payloads |
static class | ItemsSchema.SomeProperty schema class |
sealed interface | ItemsSchema.NameBoxed sealed interface for validated payloads |
record | ItemsSchema.NameBoxedString boxed class to store validated String payloads |
static class | ItemsSchema.Name schema class |
public sealed interface ItemsSchema1Boxed
permits
ItemsSchema1BoxedMap
sealed interface that stores validated payloads using boxed classes
public record ItemsSchema1BoxedMap
implements ItemsSchema1Boxed
record that stores validated Map payloads, sealed permits implementation
Constructor and Description |
---|
ItemsSchema1BoxedMap(ItemsSchemaMap data) Creates an instance, private visibility |
Modifier and Type | Method and Description |
---|---|
ItemsSchemaMap | data() validated payload |
@Nullable Object | getData() validated payload |
public static class ItemsSchema1
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.ItemsSchema;
import java.util.Arrays;
import java.util.List;
import java.util.AbstractMap;
static final SchemaConfiguration configuration = new SchemaConfiguration(new JsonSchemaKeywordFlags.Builder().build());
// Map validation
ItemsSchema.ItemsSchemaMap validatedPayload =
ItemsSchema.ItemsSchema1.validate(
new ItemsSchema.ItemsSchemaMapBuilder()
.name("a")
.someProperty("a")
.secondAdditionalProperty("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("name", Name.class)), new PropertyEntry("someProperty", SomeProperty.class)), new PropertyEntry("secondAdditionalProperty", SecondAdditionalProperty.class)) ) |
Modifier and Type | Method and Description |
---|---|
ItemsSchemaMap | validate(Map<?, ?> arg, SchemaConfiguration configuration) |
ItemsSchema1BoxedMap | validateAndBox(Map<?, ?> arg, SchemaConfiguration configuration) |
ItemsSchema1Boxed | validateAndBox(@Nullable Object arg, SchemaConfiguration configuration) |
@Nullable Object | validate(@Nullable Object arg, SchemaConfiguration configuration) |
public class ItemsSchemaMapBuilder
builder for Map<String, @Nullable Object>
A class that builds the Map input type
Constructor and Description |
---|
ItemsSchemaMapBuilder() 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 |
ItemsSchemaMapBuilder | name(String value) |
ItemsSchemaMapBuilder | someProperty(String value) |
ItemsSchemaMapBuilder | secondAdditionalProperty(String value) |
ItemsSchemaMapBuilder | additionalProperty(String key, Void value) |
ItemsSchemaMapBuilder | additionalProperty(String key, boolean value) |
ItemsSchemaMapBuilder | additionalProperty(String key, String value) |
ItemsSchemaMapBuilder | additionalProperty(String key, int value) |
ItemsSchemaMapBuilder | additionalProperty(String key, float value) |
ItemsSchemaMapBuilder | additionalProperty(String key, long value) |
ItemsSchemaMapBuilder | additionalProperty(String key, double value) |
ItemsSchemaMapBuilder | additionalProperty(String key, List<?> value) |
ItemsSchemaMapBuilder | additionalProperty(String key, Map<String, ?> value) |
public static class ItemsSchemaMap
extends FrozenMap<String, @Nullable Object>
A class to store validated Map payloads
Modifier and Type | Method and Description |
---|---|
static ItemsSchemaMap | of(Map<String, ? extends @Nullable Object> arg, SchemaConfiguration configuration) |
String | name() [optional] |
String | someProperty() [optional] |
String | secondAdditionalProperty() [optional] |
@Nullable Object | getAdditionalProperty(String name) provides type safety for additional properties |
public sealed interface SecondAdditionalPropertyBoxed
permits
SecondAdditionalPropertyBoxedString
sealed interface that stores validated payloads using boxed classes
public record SecondAdditionalPropertyBoxedString
implements SecondAdditionalPropertyBoxed
record that stores validated String payloads, sealed permits implementation
Constructor and Description |
---|
SecondAdditionalPropertyBoxedString(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 SecondAdditionalProperty
extends StringJsonSchema.StringJsonSchema1
A schema class that validates payloads
Methods Inherited from class org.openapijsonschematools.client.schemas.StringJsonSchema.StringJsonSchema1 |
---|
validate |
validateAndBox |
public sealed interface SomePropertyBoxed
permits
SomePropertyBoxedString
sealed interface that stores validated payloads using boxed classes
public record SomePropertyBoxedString
implements SomePropertyBoxed
record that stores validated String payloads, sealed permits implementation
Constructor and Description |
---|
SomePropertyBoxedString(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 SomeProperty
extends StringJsonSchema.StringJsonSchema1
A schema class that validates payloads
Methods Inherited from class org.openapijsonschematools.client.schemas.StringJsonSchema.StringJsonSchema1 |
---|
validate |
validateAndBox |
public sealed interface NameBoxed
permits
NameBoxedString
sealed interface that stores validated payloads using boxed classes
public record NameBoxedString
implements NameBoxed
record that stores validated String payloads, sealed permits implementation
Constructor and Description |
---|
NameBoxedString(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 Name
extends StringJsonSchema.StringJsonSchema1
A schema class that validates payloads
Methods Inherited from class org.openapijsonschematools.client.schemas.StringJsonSchema.StringJsonSchema1 |
---|
validate |
validateAndBox |