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

Latest commit

 

History

History
139 lines (114 loc) · 7.96 KB

File metadata and controls

139 lines (114 loc) · 7.96 KB

ObjectModelWithRefProps

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

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 ObjectModelWithRefProps.ObjectModelWithRefProps1Boxed
sealed interface for validated payloads
record ObjectModelWithRefProps.ObjectModelWithRefProps1BoxedMap
boxed class to store validated Map payloads
static class ObjectModelWithRefProps.ObjectModelWithRefProps1
schema class
static class ObjectModelWithRefProps.ObjectModelWithRefPropsMapBuilder
builder for Map payloads
static class ObjectModelWithRefProps.ObjectModelWithRefPropsMap
output class for Map payloads

ObjectModelWithRefProps1Boxed

public sealed interface ObjectModelWithRefProps1Boxed
permits
ObjectModelWithRefProps1BoxedMap

sealed interface that stores validated payloads using boxed classes

ObjectModelWithRefProps1BoxedMap

public record ObjectModelWithRefProps1BoxedMap
implements ObjectModelWithRefProps1Boxed

record that stores validated Map payloads, sealed permits implementation

Constructor Summary

Constructor and Description
ObjectModelWithRefProps1BoxedMap(ObjectModelWithRefPropsMap data)
Creates an instance, private visibility

Method Summary

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

ObjectModelWithRefProps1

public static class ObjectModelWithRefProps1
extends JsonSchema

A schema class that validates payloads

Description

a model that includes properties which should stay primitive (String + Boolean) and one which is defined as a class, NumberWithValidations

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

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

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

// Map validation
ObjectModelWithRefProps.ObjectModelWithRefPropsMap validatedPayload =
    ObjectModelWithRefProps.ObjectModelWithRefProps1.validate(
    new ObjectModelWithRefProps.ObjectModelWithRefPropsMapBuilder()
    .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("myNumber", NumberWithValidations.NumberWithValidations1.class),
    new PropertyEntry("myString", StringSchema.StringSchema1.class),
    new PropertyEntry("myBoolean", BooleanSchema.BooleanSchema1.class)
)

Method Summary

Modifier and Type Method and Description
ObjectModelWithRefPropsMap validate(Map<?, ?> arg, SchemaConfiguration configuration)
ObjectModelWithRefProps1BoxedMap validateAndBox(Map<?, ?> arg, SchemaConfiguration configuration)
ObjectModelWithRefProps1Boxed validateAndBox(@Nullable Object arg, SchemaConfiguration configuration)
@Nullable Object validate(@Nullable Object arg, SchemaConfiguration configuration)

ObjectModelWithRefPropsMapBuilder

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

A class that builds the Map input type

Constructor Summary

Constructor and Description
ObjectModelWithRefPropsMapBuilder()
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
ObjectModelWithRefPropsMapBuilder myNumber(int value)
ObjectModelWithRefPropsMapBuilder myNumber(float value)
ObjectModelWithRefPropsMapBuilder myNumber(long value)
ObjectModelWithRefPropsMapBuilder myNumber(double value)
ObjectModelWithRefPropsMapBuilder myString(String value)
ObjectModelWithRefPropsMapBuilder myBoolean(boolean value)
ObjectModelWithRefPropsMapBuilder additionalProperty(String key, Void value)
ObjectModelWithRefPropsMapBuilder additionalProperty(String key, boolean value)
ObjectModelWithRefPropsMapBuilder additionalProperty(String key, String value)
ObjectModelWithRefPropsMapBuilder additionalProperty(String key, int value)
ObjectModelWithRefPropsMapBuilder additionalProperty(String key, float value)
ObjectModelWithRefPropsMapBuilder additionalProperty(String key, long value)
ObjectModelWithRefPropsMapBuilder additionalProperty(String key, double value)
ObjectModelWithRefPropsMapBuilder additionalProperty(String key, List<?> value)
ObjectModelWithRefPropsMapBuilder additionalProperty(String key, Map<String, ?> value)

ObjectModelWithRefPropsMap

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

A class to store validated Map payloads

Method Summary

Modifier and Type Method and Description
static ObjectModelWithRefPropsMap of(Map<String, ? extends @Nullable Object> arg, SchemaConfiguration configuration)
Number myNumber()
[optional]
String myString()
[optional]
boolean myBoolean()
[optional]
@Nullable Object getAdditionalProperty(String name)
provides type safety for additional properties

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