org.openapijsonschematools.client.components.schemas.Items.java
public class Items
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
Modifier and Type | Class and Description |
---|---|
sealed interface | Items.Items1Boxed sealed interface for validated payloads |
record | Items.Items1BoxedList boxed class to store validated List payloads |
static class | Items.Items1 schema class |
static class | Items.ItemsListBuilder builder for List payloads |
static class | Items.ItemsList output class for List payloads |
sealed interface | Items.Items2Boxed sealed interface for validated payloads |
record | Items.Items2BoxedMap boxed class to store validated Map payloads |
static class | Items.Items2 schema class |
public sealed interface Items1Boxed
permits
Items1BoxedList
sealed interface that stores validated payloads using boxed classes
public record Items1BoxedList
implements Items1Boxed
record that stores validated List payloads, sealed permits implementation
Constructor and Description |
---|
Items1BoxedList(ItemsList data) Creates an instance, private visibility |
Modifier and Type | Method and Description |
---|---|
ItemsList | data() validated payload |
@Nullable Object | getData() validated payload |
public static class Items1
extends JsonSchema
A schema class that validates payloads
component's name collides with the inner schema name
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.Items;
import java.util.Arrays;
import java.util.List;
import java.util.AbstractMap;
static final SchemaConfiguration configuration = new SchemaConfiguration(new JsonSchemaKeywordFlags.Builder().build());
// List validation
Items.ItemsList validatedPayload =
Items.Items1.validate(
new Items.ItemsListBuilder()
.build(),
configuration
);
Modifier and Type | Field and Description |
---|---|
Set<Class<?>> | type = Set.of(List.class) |
Class<? extends JsonSchema> | items = Items2.class |
Modifier and Type | Method and Description |
---|---|
ItemsList | validate(List<?> arg, SchemaConfiguration configuration) |
Items1BoxedList | validateAndBox(List<?> arg, SchemaConfiguration configuration) |
Items1Boxed | validateAndBox(@Nullable Object arg, SchemaConfiguration configuration) |
@Nullable Object | validate(@Nullable Object arg, SchemaConfiguration configuration) |
public class ItemsListBuilder
builder for List<Map<String, @Nullable Object>>
A class that builds the List input type
Constructor and Description |
---|
ItemsListBuilder() Creates an empty list |
ItemsListBuilder(List<Map<String, @Nullable Object>> items) Stores the items in a list |
Modifier and Type | Method and Description |
---|---|
ItemsListBuilder | add(Map<String, @Nullable Object> item) |
List<Map<String, @Nullable Object>> | build() Returns list input that should be used with Schema.validate |
public class ItemsList
extends FrozenList<FrozenMap<?>>
A class to store validated List payloads
Modifier and Type | Method and Description |
---|---|
static ItemsList | of(List<Map<String, ? extends @Nullable Object>> arg, SchemaConfiguration configuration) |
public sealed interface Items2Boxed
permits
Items2BoxedMap
sealed interface that stores validated payloads using boxed classes
public record Items2BoxedMap
implements Items2Boxed
record that stores validated Map payloads, sealed permits implementation
Constructor and Description |
---|
Items2BoxedMap(FrozenMap<@Nullable Object> data) Creates an instance, private visibility |
Modifier and Type | Method and Description |
---|---|
FrozenMap<@Nullable Object> | data() validated payload |
@Nullable Object | getData() validated payload |
public static class Items2
extends MapJsonSchema.MapJsonSchema1
A schema class that validates payloads
Methods Inherited from class org.openapijsonschematools.client.schemas.MapJsonSchema.MapJsonSchema1 |
---|
validate |
validateAndBox |