org.openapijsonschematools.client.components.schemas.Address.java
public class Address
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 | Address.Address1Boxed sealed interface for validated payloads |
| record | Address.Address1BoxedMap boxed class to store validated Map payloads |
| static class | Address.Address1 schema class |
| static class | Address.AddressMapBuilder builder for Map payloads |
| static class | Address.AddressMap output class for Map payloads |
| sealed interface | Address.AdditionalPropertiesBoxed sealed interface for validated payloads |
| record | Address.AdditionalPropertiesBoxedNumber boxed class to store validated Number payloads |
| static class | Address.AdditionalProperties schema class |
public sealed interface Address1Boxed
permits
Address1BoxedMap
sealed interface that stores validated payloads using boxed classes
public record Address1BoxedMap
implements Address1Boxed
record that stores validated Map payloads, sealed permits implementation
| Constructor and Description |
|---|
| Address1BoxedMap(AddressMap data) Creates an instance, private visibility |
| Modifier and Type | Method and Description |
|---|---|
| AddressMap | data() validated payload |
| @Nullable Object | getData() validated payload |
public static class Address1
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.Address;
import java.util.Arrays;
import java.util.List;
import java.util.AbstractMap;
static final SchemaConfiguration configuration = new SchemaConfiguration(JsonSchemaKeywordFlags.ofNone());
// Map validation
Address.AddressMap validatedPayload =
Address.Address1.validate(
new Address.AddressMapBuilder()
.additionalProperty("someAdditionalProperty", 1)
.build(),
configuration
);
| Modifier and Type | Field and Description |
|---|---|
| Set<Class<?>> | type = Set.of(Map.class) |
| Class<? extends JsonSchema> | additionalProperties = AdditionalProperties.class |
| Modifier and Type | Method and Description |
|---|---|
| AddressMap | validate(Map<?, ?> arg, SchemaConfiguration configuration) |
| Address1BoxedMap | validateAndBox(Map<?, ?> arg, SchemaConfiguration configuration) |
| Address1Boxed | validateAndBox(@Nullable Object arg, SchemaConfiguration configuration) |
| @Nullable Object | validate(@Nullable Object arg, SchemaConfiguration configuration) |
public class AddressMapBuilder
builder for Map<String, Number>
A class that builds the Map input type
| Constructor and Description |
|---|
| AddressMapBuilder() Creates a builder that contains an empty map |
| Modifier and Type | Method and Description |
|---|---|
| Map<String, Number> | build() Returns map input that should be used with Schema.validate |
| AddressMapBuilder | additionalProperty(String key, int value) |
| AddressMapBuilder | additionalProperty(String key, float value) |
| AddressMapBuilder | additionalProperty(String key, long value) |
| AddressMapBuilder | additionalProperty(String key, double value) |
public static class AddressMap
extends FrozenMap<String, Number>
A class to store validated Map payloads
| Modifier and Type | Method and Description |
|---|---|
| static AddressMap | of(Map<String, Number> arg, SchemaConfiguration configuration) |
| Number | getAdditionalProperty(String name) provides type safety for additional properties |
public sealed interface AdditionalPropertiesBoxed
permits
AdditionalPropertiesBoxedNumber
sealed interface that stores validated payloads using boxed classes
public record AdditionalPropertiesBoxedNumber
implements AdditionalPropertiesBoxed
record that stores validated Number payloads, sealed permits implementation
| Constructor and Description |
|---|
| AdditionalPropertiesBoxedNumber(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 AdditionalProperties
extends IntJsonSchema.IntJsonSchema1
A schema class that validates payloads
| Methods Inherited from class org.openapijsonschematools.client.schemas.IntJsonSchema.IntJsonSchema1 |
|---|
| validate |
| validateAndBox |