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

Latest commit

 

History

History
196 lines (157 loc) · 8.74 KB

File metadata and controls

196 lines (157 loc) · 8.74 KB

ArrayWithValidationsInItems

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

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 list payloads, extends FrozenList
  • classes to build inputs for list payloads

Nested Class Summary

Modifier and Type Class and Description
sealed interface ArrayWithValidationsInItems.ArrayWithValidationsInItems1Boxed
sealed interface for validated payloads
record ArrayWithValidationsInItems.ArrayWithValidationsInItems1BoxedList
boxed class to store validated List payloads
static class ArrayWithValidationsInItems.ArrayWithValidationsInItems1
schema class
static class ArrayWithValidationsInItems.ArrayWithValidationsInItemsListBuilder
builder for List payloads
static class ArrayWithValidationsInItems.ArrayWithValidationsInItemsList
output class for List payloads
sealed interface ArrayWithValidationsInItems.ItemsBoxed
sealed interface for validated payloads
record ArrayWithValidationsInItems.ItemsBoxedNumber
boxed class to store validated Number payloads
static class ArrayWithValidationsInItems.Items
schema class

ArrayWithValidationsInItems1Boxed

public sealed interface ArrayWithValidationsInItems1Boxed
permits
ArrayWithValidationsInItems1BoxedList

sealed interface that stores validated payloads using boxed classes

ArrayWithValidationsInItems1BoxedList

public record ArrayWithValidationsInItems1BoxedList
implements ArrayWithValidationsInItems1Boxed

record that stores validated List payloads, sealed permits implementation

Constructor Summary

Constructor and Description
ArrayWithValidationsInItems1BoxedList(ArrayWithValidationsInItemsList data)
Creates an instance, private visibility

Method Summary

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

ArrayWithValidationsInItems1

public static class ArrayWithValidationsInItems1
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.ArrayWithValidationsInItems;

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

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

// List validation
ArrayWithValidationsInItems.ArrayWithValidationsInItemsList validatedPayload =
    ArrayWithValidationsInItems.ArrayWithValidationsInItems1.validate(
    new ArrayWithValidationsInItems.ArrayWithValidationsInItemsListBuilder()
        .add(1L)

    .build(),
    configuration
);

Field Summary

Modifier and Type Field and Description
Set<Class<?>> type = Set.of(List.class)
Class<? extends JsonSchema> items = Items.class
Integer maxItems = 2

Method Summary

Modifier and Type Method and Description
ArrayWithValidationsInItemsList validate(List<?> arg, SchemaConfiguration configuration)
ArrayWithValidationsInItems1BoxedList validateAndBox(List<?> arg, SchemaConfiguration configuration)
ArrayWithValidationsInItems1Boxed validateAndBox(@Nullable Object arg, SchemaConfiguration configuration)
@Nullable Object validate(@Nullable Object arg, SchemaConfiguration configuration)

ArrayWithValidationsInItemsListBuilder

public class ArrayWithValidationsInItemsListBuilder
builder for List<Number>

A class that builds the List input type

Constructor Summary

Constructor and Description
ArrayWithValidationsInItemsListBuilder()
Creates an empty list
ArrayWithValidationsInItemsListBuilder(List items)
Stores the items in a list

Method Summary

Modifier and Type Method and Description
ArrayWithValidationsInItemsListBuilder add(int item)
ArrayWithValidationsInItemsListBuilder add(float item)
ArrayWithValidationsInItemsListBuilder add(long item)
ArrayWithValidationsInItemsListBuilder add(double item)
List build()
Returns list input that should be used with Schema.validate

ArrayWithValidationsInItemsList

public class ArrayWithValidationsInItemsList
extends FrozenList<Number>

A class to store validated List payloads

Method Summary

Modifier and Type Method and Description
static ArrayWithValidationsInItemsList of(List arg, SchemaConfiguration configuration)

ItemsBoxed

public sealed interface ItemsBoxed
permits
ItemsBoxedNumber

sealed interface that stores validated payloads using boxed classes

ItemsBoxedNumber

public record ItemsBoxedNumber
implements ItemsBoxed

record that stores validated Number payloads, sealed permits implementation

Constructor Summary

Constructor and Description
ItemsBoxedNumber(Number data)
Creates an instance, private visibility

Method Summary

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

Items

public static class Items
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.ArrayWithValidationsInItems;

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

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

// long validation
long validatedPayload = ArrayWithValidationsInItems.Items.validate(
    1L,
    configuration
);

Field Summary

Modifier and Type Field and Description
Set<Class<?>> type = Set.of(
    Integer.class,
    Long.class,
    Float.class,
    Double.class
)
String type = "int64";
Number maximum = 7

Method Summary

Modifier and Type Method and Description
long validate(long arg, SchemaConfiguration configuration)
ItemsBoxedNumber validateAndBox(Number arg, SchemaConfiguration configuration)
ItemsBoxed validateAndBox(@Nullable Object arg, SchemaConfiguration configuration)
@Nullable Object validate(@Nullable Object arg, SchemaConfiguration configuration)

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