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

Latest commit

 

History

History
211 lines (167 loc) · 9.23 KB

File metadata and controls

211 lines (167 loc) · 9.23 KB

HasOnlyReadOnly

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

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 HasOnlyReadOnly.HasOnlyReadOnly1Boxed
sealed interface for validated payloads
record HasOnlyReadOnly.HasOnlyReadOnly1BoxedMap
boxed class to store validated Map payloads
static class HasOnlyReadOnly.HasOnlyReadOnly1
schema class
static class HasOnlyReadOnly.HasOnlyReadOnlyMapBuilder
builder for Map payloads
static class HasOnlyReadOnly.HasOnlyReadOnlyMap
output class for Map payloads
sealed interface HasOnlyReadOnly.FooBoxed
sealed interface for validated payloads
record HasOnlyReadOnly.FooBoxedString
boxed class to store validated String payloads
static class HasOnlyReadOnly.Foo
schema class
sealed interface HasOnlyReadOnly.BarBoxed
sealed interface for validated payloads
record HasOnlyReadOnly.BarBoxedString
boxed class to store validated String payloads
static class HasOnlyReadOnly.Bar
schema class

HasOnlyReadOnly1Boxed

public sealed interface HasOnlyReadOnly1Boxed
permits
HasOnlyReadOnly1BoxedMap

sealed interface that stores validated payloads using boxed classes

HasOnlyReadOnly1BoxedMap

public record HasOnlyReadOnly1BoxedMap
implements HasOnlyReadOnly1Boxed

record that stores validated Map payloads, sealed permits implementation

Constructor Summary

Constructor and Description
HasOnlyReadOnly1BoxedMap(HasOnlyReadOnlyMap data)
Creates an instance, private visibility

Method Summary

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

HasOnlyReadOnly1

public static class HasOnlyReadOnly1
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.HasOnlyReadOnly;

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

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

// Map validation
HasOnlyReadOnly.HasOnlyReadOnlyMap validatedPayload =
    HasOnlyReadOnly.HasOnlyReadOnly1.validate(
    new HasOnlyReadOnly.HasOnlyReadOnlyMapBuilder()
        .bar("a")

        .foo("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("bar", Bar.class)),
    new PropertyEntry("foo", Foo.class))
)

Method Summary

Modifier and Type Method and Description
HasOnlyReadOnlyMap validate(Map<?, ?> arg, SchemaConfiguration configuration)
HasOnlyReadOnly1BoxedMap validateAndBox(Map<?, ?> arg, SchemaConfiguration configuration)
HasOnlyReadOnly1Boxed validateAndBox(@Nullable Object arg, SchemaConfiguration configuration)
@Nullable Object validate(@Nullable Object arg, SchemaConfiguration configuration)

HasOnlyReadOnlyMapBuilder

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

A class that builds the Map input type

Constructor Summary

Constructor and Description
HasOnlyReadOnlyMapBuilder()
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
HasOnlyReadOnlyMapBuilder bar(String value)
HasOnlyReadOnlyMapBuilder foo(String value)
HasOnlyReadOnlyMapBuilder additionalProperty(String key, Void value)
HasOnlyReadOnlyMapBuilder additionalProperty(String key, boolean value)
HasOnlyReadOnlyMapBuilder additionalProperty(String key, String value)
HasOnlyReadOnlyMapBuilder additionalProperty(String key, int value)
HasOnlyReadOnlyMapBuilder additionalProperty(String key, float value)
HasOnlyReadOnlyMapBuilder additionalProperty(String key, long value)
HasOnlyReadOnlyMapBuilder additionalProperty(String key, double value)
HasOnlyReadOnlyMapBuilder additionalProperty(String key, List<?> value)
HasOnlyReadOnlyMapBuilder additionalProperty(String key, Map<String, ?> value)

HasOnlyReadOnlyMap

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

A class to store validated Map payloads

Method Summary

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

FooBoxed

public sealed interface FooBoxed
permits
FooBoxedString

sealed interface that stores validated payloads using boxed classes

FooBoxedString

public record FooBoxedString
implements FooBoxed

record that stores validated String payloads, sealed permits implementation

Constructor Summary

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

Method Summary

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

Foo

public static class Foo
extends StringJsonSchema.StringJsonSchema1

A schema class that validates payloads

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

BarBoxed

public sealed interface BarBoxed
permits
BarBoxedString

sealed interface that stores validated payloads using boxed classes

BarBoxedString

public record BarBoxedString
implements BarBoxed

record that stores validated String payloads, sealed permits implementation

Constructor Summary

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

Method Summary

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

Bar

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