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

Latest commit

 

History

History
345 lines (280 loc) · 17.7 KB

MixedPropertiesAndAdditionalPropertiesClass.md

File metadata and controls

345 lines (280 loc) · 17.7 KB

MixedPropertiesAndAdditionalPropertiesClass

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

Nested Class Summary

Modifier and Type Class and Description
sealed interface MixedPropertiesAndAdditionalPropertiesClass.MixedPropertiesAndAdditionalPropertiesClass1Boxed
sealed interface for validated payloads
record MixedPropertiesAndAdditionalPropertiesClass.MixedPropertiesAndAdditionalPropertiesClass1BoxedMap
boxed class to store validated Map payloads
static class MixedPropertiesAndAdditionalPropertiesClass.MixedPropertiesAndAdditionalPropertiesClass1
schema class
static class MixedPropertiesAndAdditionalPropertiesClass.MixedPropertiesAndAdditionalPropertiesClassMapBuilder
builder for Map payloads
static class MixedPropertiesAndAdditionalPropertiesClass.MixedPropertiesAndAdditionalPropertiesClassMap
output class for Map payloads
sealed interface MixedPropertiesAndAdditionalPropertiesClass.MapSchemaBoxed
sealed interface for validated payloads
record MixedPropertiesAndAdditionalPropertiesClass.MapSchemaBoxedMap
boxed class to store validated Map payloads
static class MixedPropertiesAndAdditionalPropertiesClass.MapSchema
schema class
static class MixedPropertiesAndAdditionalPropertiesClass.MapMapBuilder
builder for Map payloads
static class MixedPropertiesAndAdditionalPropertiesClass.MapMap
output class for Map payloads
sealed interface MixedPropertiesAndAdditionalPropertiesClass.DateTimeBoxed
sealed interface for validated payloads
record MixedPropertiesAndAdditionalPropertiesClass.DateTimeBoxedString
boxed class to store validated String payloads
static class MixedPropertiesAndAdditionalPropertiesClass.DateTime
schema class
sealed interface MixedPropertiesAndAdditionalPropertiesClass.UuidSchemaBoxed
sealed interface for validated payloads
record MixedPropertiesAndAdditionalPropertiesClass.UuidSchemaBoxedString
boxed class to store validated String payloads
static class MixedPropertiesAndAdditionalPropertiesClass.UuidSchema
schema class

MixedPropertiesAndAdditionalPropertiesClass1Boxed

public sealed interface MixedPropertiesAndAdditionalPropertiesClass1Boxed
permits
MixedPropertiesAndAdditionalPropertiesClass1BoxedMap

sealed interface that stores validated payloads using boxed classes

MixedPropertiesAndAdditionalPropertiesClass1BoxedMap

public record MixedPropertiesAndAdditionalPropertiesClass1BoxedMap
implements MixedPropertiesAndAdditionalPropertiesClass1Boxed

record that stores validated Map payloads, sealed permits implementation

Constructor Summary

Constructor and Description
MixedPropertiesAndAdditionalPropertiesClass1BoxedMap(MixedPropertiesAndAdditionalPropertiesClassMap data)
Creates an instance, private visibility

Method Summary

Modifier and Type Method and Description
MixedPropertiesAndAdditionalPropertiesClassMap data()
validated payload
@Nullable Object getData()
validated payload

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.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
);

Field Summary

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))
)

Method Summary

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)

MixedPropertiesAndAdditionalPropertiesClassMapBuilder

public class MixedPropertiesAndAdditionalPropertiesClassMapBuilder
builder for Map<String, @Nullable Object>

A class that builds the Map input type

Constructor Summary

Constructor and Description
MixedPropertiesAndAdditionalPropertiesClassMapBuilder()
Creates a builder that contains an empty map

Method Summary

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)

MixedPropertiesAndAdditionalPropertiesClassMap

public static class MixedPropertiesAndAdditionalPropertiesClassMap
extends FrozenMap<String, @Nullable Object>

A class to store validated Map payloads

Method Summary

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

MapSchemaBoxed

public sealed interface MapSchemaBoxed
permits
MapSchemaBoxedMap

sealed interface that stores validated payloads using boxed classes

MapSchemaBoxedMap

public record MapSchemaBoxedMap
implements MapSchemaBoxed

record that stores validated Map payloads, sealed permits implementation

Constructor Summary

Constructor and Description
MapSchemaBoxedMap(MapMap data)
Creates an instance, private visibility

Method Summary

Modifier and Type Method and Description
MapMap data()
validated payload
@Nullable Object getData()
validated payload

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.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
);

Field Summary

Modifier and Type Field and Description
Set<Class<?>> type = Set.of(Map.class)
Class<? extends JsonSchema> additionalProperties = Animal.Animal1.class

Method Summary

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)

MapMapBuilder

public class MapMapBuilder
builder for Map<String, Map<String, @Nullable Object>>

A class that builds the Map input type

Constructor Summary

Constructor and Description
MapMapBuilder()
Creates a builder that contains an empty map

Method Summary

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)

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, ? extends @Nullable Object>> arg, SchemaConfiguration configuration)
Animal.AnimalMap getAdditionalProperty(String name)
provides type safety for additional properties

DateTimeBoxed

public sealed interface DateTimeBoxed
permits
DateTimeBoxedString

sealed interface that stores validated payloads using boxed classes

DateTimeBoxedString

public record DateTimeBoxedString
implements DateTimeBoxed

record that stores validated String payloads, sealed permits implementation

Constructor Summary

Constructor and Description
DateTimeBoxedString(String data)
Creates an instance, private visibility

Method Summary

Modifier and Type Method and Description
String data()
validated payload
@Nullable Object getData()
validated payload

DateTime

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

UuidSchemaBoxed

public sealed interface UuidSchemaBoxed
permits
UuidSchemaBoxedString

sealed interface that stores validated payloads using boxed classes

UuidSchemaBoxedString

public record UuidSchemaBoxedString
implements UuidSchemaBoxed

record that stores validated String payloads, sealed permits implementation

Constructor Summary

Constructor and Description
UuidSchemaBoxedString(String data)
Creates an instance, private visibility

Method Summary

Modifier and Type Method and Description
String data()
validated payload
@Nullable Object getData()
validated payload

UuidSchema

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

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