org.openapijsonschematools.client.components.schemas.MixedPropertiesAndAdditionalPropertiesClass.java
public class MixedPropertiesAndAdditionalPropertiesClass
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
public sealed interface MixedPropertiesAndAdditionalPropertiesClass1Boxed
permits
MixedPropertiesAndAdditionalPropertiesClass1BoxedMap
sealed interface that stores validated payloads using boxed classes
public record MixedPropertiesAndAdditionalPropertiesClass1BoxedMap
implements MixedPropertiesAndAdditionalPropertiesClass1Boxed
record that stores validated Map payloads, sealed permits implementation
| Constructor and Description |
|---|
| MixedPropertiesAndAdditionalPropertiesClass1BoxedMap(MixedPropertiesAndAdditionalPropertiesClassMap data) Creates an instance, private visibility |
| Modifier and Type | Method and Description |
|---|---|
| MixedPropertiesAndAdditionalPropertiesClassMap | data() validated payload |
| @Nullable Object | getData() validated payload |
public static class MixedPropertiesAndAdditionalPropertiesClass1
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.MixedPropertiesAndAdditionalPropertiesClass;
import java.util.Arrays;
import java.util.List;
import java.util.AbstractMap;
static final SchemaConfiguration configuration = new SchemaConfiguration(JsonSchemaKeywordFlags.ofNone());
// Map validation
MixedPropertiesAndAdditionalPropertiesClass.MixedPropertiesAndAdditionalPropertiesClassMap validatedPayload =
MixedPropertiesAndAdditionalPropertiesClass.MixedPropertiesAndAdditionalPropertiesClass1.validate(
new MixedPropertiesAndAdditionalPropertiesClass.MixedPropertiesAndAdditionalPropertiesClassMapBuilder()
.setUuid("046b6c7f-0b8a-43b9-b35d-6489e6daee91")
.dateTime("1970-01-01T00:00:00.00Z")
.setMap(
MapUtils.makeMap(
new AbstractMap.SimpleEntry<String, Map<String, ?>>(
"someAdditionalProperty",
MapUtils.makeMap(
new AbstractMap.SimpleEntry<String, String>(
"className",
"a"
),
new AbstractMap.SimpleEntry<String, String>(
"color",
"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("uuid", UuidSchema.class)), new PropertyEntry("dateTime", DateTime.class)), new PropertyEntry("map", MapSchema.class)) ) |
| Modifier and Type | Method and Description |
|---|---|
| MixedPropertiesAndAdditionalPropertiesClassMap | validate(Map<?, ?> arg, SchemaConfiguration configuration) |
| MixedPropertiesAndAdditionalPropertiesClass1BoxedMap | validateAndBox(Map<?, ?> arg, SchemaConfiguration configuration) |
| MixedPropertiesAndAdditionalPropertiesClass1Boxed | validateAndBox(@Nullable Object arg, SchemaConfiguration configuration) |
| @Nullable Object | validate(@Nullable Object arg, SchemaConfiguration configuration) |
public class MixedPropertiesAndAdditionalPropertiesClassMapBuilder
builder for Map<String, @Nullable Object>
A class that builds the Map input type
| Constructor and Description |
|---|
| MixedPropertiesAndAdditionalPropertiesClassMapBuilder() 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 |
| MixedPropertiesAndAdditionalPropertiesClassMapBuilder | setUuid(String value) |
| MixedPropertiesAndAdditionalPropertiesClassMapBuilder | dateTime(String value) |
| MixedPropertiesAndAdditionalPropertiesClassMapBuilder | setMap(Map<String, Map<String, @Nullable Object>> value) |
| MixedPropertiesAndAdditionalPropertiesClassMapBuilder | additionalProperty(String key, Void value) |
| MixedPropertiesAndAdditionalPropertiesClassMapBuilder | additionalProperty(String key, boolean value) |
| MixedPropertiesAndAdditionalPropertiesClassMapBuilder | additionalProperty(String key, String value) |
| MixedPropertiesAndAdditionalPropertiesClassMapBuilder | additionalProperty(String key, int value) |
| MixedPropertiesAndAdditionalPropertiesClassMapBuilder | additionalProperty(String key, float value) |
| MixedPropertiesAndAdditionalPropertiesClassMapBuilder | additionalProperty(String key, long value) |
| MixedPropertiesAndAdditionalPropertiesClassMapBuilder | additionalProperty(String key, double value) |
| MixedPropertiesAndAdditionalPropertiesClassMapBuilder | additionalProperty(String key, List<?> value) |
| MixedPropertiesAndAdditionalPropertiesClassMapBuilder | additionalProperty(String key, Map<String, ?> value) |
public static class MixedPropertiesAndAdditionalPropertiesClassMap
extends FrozenMap<String, @Nullable Object>
A class to store validated Map payloads
| Modifier and Type | Method and Description |
|---|---|
| static MixedPropertiesAndAdditionalPropertiesClassMap | of(Map<String, ? extends @Nullable Object> arg, SchemaConfiguration configuration) |
| String | dateTime() [optional] value must conform to RFC-3339 date-time |
| @Nullable Object | get(String key) This schema has invalid Java names so this method must be used when you access instance["uuid"], instance["map"], |
| @Nullable Object | getAdditionalProperty(String name) provides type safety for additional properties |
public sealed interface MapSchemaBoxed
permits
MapSchemaBoxedMap
sealed interface that stores validated payloads using boxed classes
public record MapSchemaBoxedMap
implements MapSchemaBoxed
record that stores validated Map payloads, sealed permits implementation
| Constructor and Description |
|---|
| MapSchemaBoxedMap(MapMap data) Creates an instance, private visibility |
| Modifier and Type | Method and Description |
|---|---|
| MapMap | data() validated payload |
| @Nullable Object | getData() validated payload |
public static class MapSchema
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.MixedPropertiesAndAdditionalPropertiesClass;
import java.util.Arrays;
import java.util.List;
import java.util.AbstractMap;
static final SchemaConfiguration configuration = new SchemaConfiguration(JsonSchemaKeywordFlags.ofNone());
// Map validation
MixedPropertiesAndAdditionalPropertiesClass.MapMap validatedPayload =
MixedPropertiesAndAdditionalPropertiesClass.MapSchema.validate(
new MixedPropertiesAndAdditionalPropertiesClass.MapMapBuilder()
.additionalProperty(
"someAdditionalProperty",
MapUtils.makeMap(
new AbstractMap.SimpleEntry<String, String>(
"className",
"a"
),
new AbstractMap.SimpleEntry<String, String>(
"color",
"a"
)
)
)
.build(),
configuration
);
| Modifier and Type | Field and Description |
|---|---|
| Set<Class<?>> | type = Set.of(Map.class) |
| Class<? extends JsonSchema> | additionalProperties = Animal.Animal1.class |
| Modifier and Type | Method and Description |
|---|---|
| MapMap | validate(Map<?, ?> arg, SchemaConfiguration configuration) |
| MapSchemaBoxedMap | validateAndBox(Map<?, ?> arg, SchemaConfiguration configuration) |
| MapSchemaBoxed | validateAndBox(@Nullable Object arg, SchemaConfiguration configuration) |
| @Nullable Object | validate(@Nullable Object arg, SchemaConfiguration configuration) |
public class MapMapBuilder
builder for Map<String, Map<String, @Nullable Object>>
A class that builds the Map input type
| Constructor and Description |
|---|
| MapMapBuilder() Creates a builder that contains an empty map |
| Modifier and Type | Method and Description |
|---|---|
| Map<String, Map<String, @Nullable Object>> | build() Returns map input that should be used with Schema.validate |
| MapMapBuilder | additionalProperty(String key, Map<String, @Nullable Object> value) |
public static class MapMap
extends FrozenMap<String, Animal.AnimalMap>
A class to store validated Map payloads
| Modifier and Type | Method and Description |
|---|---|
| static MapMap | of(Map<String, Map<String, ? extends @Nullable Object>> arg, SchemaConfiguration configuration) |
| Animal.AnimalMap | getAdditionalProperty(String name) provides type safety for additional properties |
public sealed interface DateTimeBoxed
permits
DateTimeBoxedString
sealed interface that stores validated payloads using boxed classes
public record DateTimeBoxedString
implements DateTimeBoxed
record that stores validated String payloads, sealed permits implementation
| Constructor and Description |
|---|
| DateTimeBoxedString(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 DateTime
extends DateTimeJsonSchema.DateTimeJsonSchema1
A schema class that validates payloads
| Methods Inherited from class org.openapijsonschematools.client.schemas.DateTimeJsonSchema.DateTimeJsonSchema1 |
|---|
| validate |
| validateAndBox |
public sealed interface UuidSchemaBoxed
permits
UuidSchemaBoxedString
sealed interface that stores validated payloads using boxed classes
public record UuidSchemaBoxedString
implements UuidSchemaBoxed
record that stores validated String payloads, sealed permits implementation
| Constructor and Description |
|---|
| UuidSchemaBoxedString(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 UuidSchema
extends UuidJsonSchema.UuidJsonSchema1
A schema class that validates payloads
| Methods Inherited from class org.openapijsonschematools.client.schemas.UuidJsonSchema.UuidJsonSchema1 |
|---|
| validate |
| validateAndBox |