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

Latest commit

 

History

History
253 lines (199 loc) · 11.2 KB

File metadata and controls

253 lines (199 loc) · 11.2 KB

ItemsSchema

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

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 ItemsSchema.ItemsSchema1Boxed
sealed interface for validated payloads
record ItemsSchema.ItemsSchema1BoxedMap
boxed class to store validated Map payloads
static class ItemsSchema.ItemsSchema1
schema class
static class ItemsSchema.ItemsSchemaMapBuilder
builder for Map payloads
static class ItemsSchema.ItemsSchemaMap
output class for Map payloads
sealed interface ItemsSchema.SecondAdditionalPropertyBoxed
sealed interface for validated payloads
record ItemsSchema.SecondAdditionalPropertyBoxedString
boxed class to store validated String payloads
static class ItemsSchema.SecondAdditionalProperty
schema class
sealed interface ItemsSchema.SomePropertyBoxed
sealed interface for validated payloads
record ItemsSchema.SomePropertyBoxedString
boxed class to store validated String payloads
static class ItemsSchema.SomeProperty
schema class
sealed interface ItemsSchema.NameBoxed
sealed interface for validated payloads
record ItemsSchema.NameBoxedString
boxed class to store validated String payloads
static class ItemsSchema.Name
schema class

ItemsSchema1Boxed

public sealed interface ItemsSchema1Boxed
permits
ItemsSchema1BoxedMap

sealed interface that stores validated payloads using boxed classes

ItemsSchema1BoxedMap

public record ItemsSchema1BoxedMap
implements ItemsSchema1Boxed

record that stores validated Map payloads, sealed permits implementation

Constructor Summary

Constructor and Description
ItemsSchema1BoxedMap(ItemsSchemaMap data)
Creates an instance, private visibility

Method Summary

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

ItemsSchema1

public static class ItemsSchema1
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.ItemsSchema;

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

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

// Map validation
ItemsSchema.ItemsSchemaMap validatedPayload =
    ItemsSchema.ItemsSchema1.validate(
    new ItemsSchema.ItemsSchemaMapBuilder()
        .name("a")

        .someProperty("a")

        .secondAdditionalProperty("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("name", Name.class)),
    new PropertyEntry("someProperty", SomeProperty.class)),
    new PropertyEntry("secondAdditionalProperty", SecondAdditionalProperty.class))
)

Method Summary

Modifier and Type Method and Description
ItemsSchemaMap validate(Map<?, ?> arg, SchemaConfiguration configuration)
ItemsSchema1BoxedMap validateAndBox(Map<?, ?> arg, SchemaConfiguration configuration)
ItemsSchema1Boxed validateAndBox(@Nullable Object arg, SchemaConfiguration configuration)
@Nullable Object validate(@Nullable Object arg, SchemaConfiguration configuration)

ItemsSchemaMapBuilder

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

A class that builds the Map input type

Constructor Summary

Constructor and Description
ItemsSchemaMapBuilder()
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
ItemsSchemaMapBuilder name(String value)
ItemsSchemaMapBuilder someProperty(String value)
ItemsSchemaMapBuilder secondAdditionalProperty(String value)
ItemsSchemaMapBuilder additionalProperty(String key, Void value)
ItemsSchemaMapBuilder additionalProperty(String key, boolean value)
ItemsSchemaMapBuilder additionalProperty(String key, String value)
ItemsSchemaMapBuilder additionalProperty(String key, int value)
ItemsSchemaMapBuilder additionalProperty(String key, float value)
ItemsSchemaMapBuilder additionalProperty(String key, long value)
ItemsSchemaMapBuilder additionalProperty(String key, double value)
ItemsSchemaMapBuilder additionalProperty(String key, List<?> value)
ItemsSchemaMapBuilder additionalProperty(String key, Map<String, ?> value)

ItemsSchemaMap

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

A class to store validated Map payloads

Method Summary

Modifier and Type Method and Description
static ItemsSchemaMap of(Map<String, ? extends @Nullable Object> arg, SchemaConfiguration configuration)
String name()
[optional]
String someProperty()
[optional]
String secondAdditionalProperty()
[optional]
@Nullable Object getAdditionalProperty(String name)
provides type safety for additional properties

SecondAdditionalPropertyBoxed

public sealed interface SecondAdditionalPropertyBoxed
permits
SecondAdditionalPropertyBoxedString

sealed interface that stores validated payloads using boxed classes

SecondAdditionalPropertyBoxedString

public record SecondAdditionalPropertyBoxedString
implements SecondAdditionalPropertyBoxed

record that stores validated String payloads, sealed permits implementation

Constructor Summary

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

Method Summary

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

SecondAdditionalProperty

public static class SecondAdditionalProperty
extends StringJsonSchema.StringJsonSchema1

A schema class that validates payloads

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

SomePropertyBoxed

public sealed interface SomePropertyBoxed
permits
SomePropertyBoxedString

sealed interface that stores validated payloads using boxed classes

SomePropertyBoxedString

public record SomePropertyBoxedString
implements SomePropertyBoxed

record that stores validated String payloads, sealed permits implementation

Constructor Summary

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

Method Summary

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

SomeProperty

public static class SomeProperty
extends StringJsonSchema.StringJsonSchema1

A schema class that validates payloads

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

NameBoxed

public sealed interface NameBoxed
permits
NameBoxedString

sealed interface that stores validated payloads using boxed classes

NameBoxedString

public record NameBoxedString
implements NameBoxed

record that stores validated String payloads, sealed permits implementation

Constructor Summary

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

Method Summary

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

Name

public static class Name
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]