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

Latest commit

 

History

History
259 lines (206 loc) · 10.5 KB

File metadata and controls

259 lines (206 loc) · 10.5 KB

Animal

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

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 Animal.Animal1Boxed
sealed interface for validated payloads
record Animal.Animal1BoxedMap
boxed class to store validated Map payloads
static class Animal.Animal1
schema class
static class Animal.AnimalMapBuilder
builder for Map payloads
static class Animal.AnimalMap
output class for Map payloads
sealed interface Animal.ColorBoxed
sealed interface for validated payloads
record Animal.ColorBoxedString
boxed class to store validated String payloads
static class Animal.Color
schema class
sealed interface Animal.ClassNameBoxed
sealed interface for validated payloads
record Animal.ClassNameBoxedString
boxed class to store validated String payloads
static class Animal.ClassName
schema class

Animal1Boxed

public sealed interface Animal1Boxed
permits
Animal1BoxedMap

sealed interface that stores validated payloads using boxed classes

Animal1BoxedMap

public record Animal1BoxedMap
implements Animal1Boxed

record that stores validated Map payloads, sealed permits implementation

Constructor Summary

Constructor and Description
Animal1BoxedMap(AnimalMap data)
Creates an instance, private visibility

Method Summary

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

Animal1

public static class Animal1
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.Animal;

import java.util.Arrays;
import java.util.List;
import java.util.AbstractMap;

static final SchemaConfiguration configuration = new SchemaConfiguration(new JsonSchemaKeywordFlags.Builder().build());

// Map validation
Animal.AnimalMap validatedPayload =
    Animal.Animal1.validate(
    new Animal.AnimalMapBuilder()
        .className("a")

        .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("className", ClassName.class)),
    new PropertyEntry("color", Color.class))
)
Set required = Set.of(
    "className"
)

Method Summary

Modifier and Type Method and Description
AnimalMap validate(Map<?, ?> arg, SchemaConfiguration configuration)
Animal1BoxedMap validateAndBox(Map<?, ?> arg, SchemaConfiguration configuration)
Animal1Boxed validateAndBox(@Nullable Object arg, SchemaConfiguration configuration)
@Nullable Object validate(@Nullable Object arg, SchemaConfiguration configuration)

AnimalMap0Builder

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

A class that builds the Map input type

Constructor Summary

Constructor and Description
AnimalMap0Builder(Map<String, @Nullable Object> instance)
Creates a builder that contains the passed instance

Method Summary

Modifier and Type Method and Description
Map<String, @Nullable Object> build()
Returns map input that should be used with Schema.validate
AnimalMap0Builder color(String value)
AnimalMap0Builder additionalProperty(String key, Void value)
AnimalMap0Builder additionalProperty(String key, boolean value)
AnimalMap0Builder additionalProperty(String key, String value)
AnimalMap0Builder additionalProperty(String key, int value)
AnimalMap0Builder additionalProperty(String key, float value)
AnimalMap0Builder additionalProperty(String key, long value)
AnimalMap0Builder additionalProperty(String key, double value)
AnimalMap0Builder additionalProperty(String key, List<?> value)
AnimalMap0Builder additionalProperty(String key, Map<String, ?> value)

AnimalMapBuilder

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

A class that builds the Map input type

Constructor Summary

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

Method Summary

Modifier and Type Method and Description
AnimalMap0Builder className(String value)

AnimalMap

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

A class to store validated Map payloads

Method Summary

Modifier and Type Method and Description
static AnimalMap of(Map<String, ? extends @Nullable Object> arg, SchemaConfiguration configuration)
String className()
String color()
[optional] if omitted the server will use the default value of red
@Nullable Object getAdditionalProperty(String name)
provides type safety for additional properties

ColorBoxed

public sealed interface ColorBoxed
permits
ColorBoxedString

sealed interface that stores validated payloads using boxed classes

ColorBoxedString

public record ColorBoxedString
implements ColorBoxed

record that stores validated String payloads, sealed permits implementation

Constructor Summary

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

Method Summary

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

Color

public static class Color
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.Animal;

import java.util.Arrays;
import java.util.List;
import java.util.AbstractMap;

static final SchemaConfiguration configuration = new SchemaConfiguration(new JsonSchemaKeywordFlags.Builder().build());

// String validation
String validatedPayload = Animal.Color.validate(
    "a",
    configuration
);

Field Summary

Modifier and Type Field and Description
Set<Class<?>> type = Set.of(
    String.class
)
@Nullable Object defaultValue = "red"

Method Summary

Modifier and Type Method and Description
String validate(String arg, SchemaConfiguration configuration)
ColorBoxedString validateAndBox(String arg, SchemaConfiguration configuration)
ColorBoxed validateAndBox(@Nullable Object arg, SchemaConfiguration configuration)
@Nullable Object validate(@Nullable Object arg, SchemaConfiguration configuration)

ClassNameBoxed

public sealed interface ClassNameBoxed
permits
ClassNameBoxedString

sealed interface that stores validated payloads using boxed classes

ClassNameBoxedString

public record ClassNameBoxedString
implements ClassNameBoxed

record that stores validated String payloads, sealed permits implementation

Constructor Summary

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

Method Summary

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

ClassName

public static class ClassName
extends StringJsonSchema.StringJsonSchema1

A schema class that validates payloads

Methods Inherited from class org.openapijsonschematools.client.schemas.StringJsonSchema.StringJsonSchema1
validate
validateAndBox

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