Skip to content
This repository was archived by the owner on Dec 25, 2024. It is now read-only.

Latest commit

 

History

History
175 lines (142 loc) · 8.09 KB

File metadata and controls

175 lines (142 loc) · 8.09 KB

MixedPropertiesAndAdditionalPropertiesClass

org.openapijsonschematools.client.components.schemas.MixedPropertiesAndAdditionalPropertiesClass.java public class MixedPropertiesAndAdditionalPropertiesClass

A class that contains necessary nested schema classes, and classes to store validated list and map payloads

Nested Class Summary

Modifier and Type Class and Description
static class MixedPropertiesAndAdditionalPropertiesClass.MixedPropertiesAndAdditionalPropertiesClass1
schema class
static class MixedPropertiesAndAdditionalPropertiesClass.MixedPropertiesAndAdditionalPropertiesClassMap
output class for Map payloads
static class MixedPropertiesAndAdditionalPropertiesClass.MapSchema
schema class
static class MixedPropertiesAndAdditionalPropertiesClass.MapMap
output class for Map payloads
static class MixedPropertiesAndAdditionalPropertiesClass.DateTime
schema class
static class MixedPropertiesAndAdditionalPropertiesClass.UuidSchema
schema class

MixedPropertiesAndAdditionalPropertiesClass1

public static class MixedPropertiesAndAdditionalPropertiesClass1
extends JsonSchema

A schema class that validates payloads

Code Sample

import org.openapijsonschematools.client.configurations.JsonSchemaKeywordFlags;
import org.openapijsonschematools.client.configurations.SchemaConfiguration;
import org.openapijsonschematools.client.exceptions.ValidationException;
import org.openapijsonschematools.client.schemas.MapMaker;
import org.openapijsonschematools.client.schemas.validation.FrozenList;
import org.openapijsonschematools.client.schemas.validation.FrozenMap;

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(
    MapMaker.makeMap(
        new AbstractMap.SimpleEntry<>(
            "uuid",
            "046b6c7f-0b8a-43b9-b35d-6489e6daee91"
        ),
        new AbstractMap.SimpleEntry<>(
            "dateTime",
            "1970-01-01T00:00:00.00Z"
        ),
        new AbstractMap.SimpleEntry<>(
            "map",
            MapMaker.makeMap(
            )
        )
    ),
    configuration
);

Field Summary

Modifier and Type Field and Description
static LinkedHashMap<String, KeywordValidator> keywordToValidator
new LinkedHashMap<>(Map.ofEntries(
    new KeywordEntry("type", new TypeValidator(Set.of(FrozenMap.class))),
    new KeywordEntry("properties", new PropertiesValidator(Map.ofEntries(
        new PropertyEntry("uuid", UuidSchema.class)),
        new PropertyEntry("dateTime", DateTime.class)),
        new PropertyEntry("map", MapSchema.class))
    )))
));

Method Summary

Modifier and Type Method and Description
static MixedPropertiesAndAdditionalPropertiesClassMap validate(Map<String, Object> arg, SchemaConfiguration configuration)

MixedPropertiesAndAdditionalPropertiesClassMap

public static class MixedPropertiesAndAdditionalPropertiesClassMap
extends FrozenMap<String, Object>

A class to store validated Map payloads

Method Summary

Modifier and Type Method and Description
static MixedPropertiesAndAdditionalPropertiesClassMap of(Map<String, Object> arg, SchemaConfiguration configuration)
String dateTime()
[optional] value must conform to RFC-3339 date-time
Object get(String key)
This schema has invalid Java names so this method must be used when you access instance["uuid"], instance["map"],
Object getAdditionalProperty(String name)
provides type safety for additional properties

Input Map Keys

type: Map<String, Object>
Key Type Description Notes
uuid String [optional] value must be a uuid
dateTime String [optional] value must conform to RFC-3339 date-time
map Map<String, Map<String, Object>> [optional]
anyStringName Object any string name can be used but the value must be the correct type [optional]

MapSchema

public static class MapSchema
extends JsonSchema

A schema class that validates payloads

Code Sample

import org.openapijsonschematools.client.configurations.JsonSchemaKeywordFlags;
import org.openapijsonschematools.client.configurations.SchemaConfiguration;
import org.openapijsonschematools.client.exceptions.ValidationException;
import org.openapijsonschematools.client.schemas.MapMaker;
import org.openapijsonschematools.client.schemas.validation.FrozenList;
import org.openapijsonschematools.client.schemas.validation.FrozenMap;

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(
    MapMaker.makeMap(
    ),
    configuration
);

Field Summary

Modifier and Type Field and Description
static LinkedHashMap<String, KeywordValidator> keywordToValidator
new LinkedHashMap<>(Map.ofEntries(
    new KeywordEntry("type", new TypeValidator(Set.of(FrozenMap.class))),
    new KeywordEntry("additionalProperties", new AdditionalPropertiesValidator(Animal.Animal1.class)
));

Method Summary

Modifier and Type Method and Description
static MapMap validate(Map<String, Map<String, Object>> arg, SchemaConfiguration configuration)

MapMap

public static class MapMap
extends FrozenMap<String, Animal.AnimalMap>

A class to store validated Map payloads

Method Summary

Modifier and Type Method and Description
static MapMap of(Map<String, Map<String, Object>> arg, SchemaConfiguration configuration)
Animal.AnimalMap getAdditionalProperty(String name)
provides type safety for additional properties

Input Map Keys

type: Map<String, Object>
Key Type Description Notes
anyStringName Map<String, Object> any string name can be used but the value must be the correct type [optional]

DateTime

public static class DateTime
extends DateTimeJsonSchema

A schema class that validates payloads

Methods Inherited from class org.openapijsonschematools.client.schemas.DateTimeJsonSchema
validate

UuidSchema

public static class UuidSchema
extends UuidJsonSchema

A schema class that validates payloads

Methods Inherited from class org.openapijsonschematools.client.schemas.UuidJsonSchema
validate

[Back to top] [Back to Component Schemas] [Back to README]