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(new JsonSchemaKeywordFlags.Builder().build());
// 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(new JsonSchemaKeywordFlags.Builder().build());
// 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 |