Skip to content

Latest commit

 

History

History
175 lines (139 loc) · 7.02 KB

File metadata and controls

175 lines (139 loc) · 7.02 KB

File

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

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 File.File1Boxed
sealed interface for validated payloads
record File.File1BoxedMap
boxed class to store validated Map payloads
static class File.File1
schema class
static class File.FileMapBuilder
builder for Map payloads
static class File.FileMap
output class for Map payloads
sealed interface File.SourceURIBoxed
sealed interface for validated payloads
record File.SourceURIBoxedString
boxed class to store validated String payloads
static class File.SourceURI
schema class

File1Boxed

public sealed interface File1Boxed
permits
File1BoxedMap

sealed interface that stores validated payloads using boxed classes

File1BoxedMap

public record File1BoxedMap
implements File1Boxed

record that stores validated Map payloads, sealed permits implementation

Constructor Summary

Constructor and Description
File1BoxedMap(FileMap data)
Creates an instance, private visibility

Method Summary

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

File1

public static class File1
extends JsonSchema

A schema class that validates payloads

Description

Must be named `File` for test.

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

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

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

// Map validation
File.FileMap validatedPayload =
    File.File1.validate(
    new File.FileMapBuilder()
        .sourceURI("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("sourceURI", SourceURI.class))
)

Method Summary

Modifier and Type Method and Description
FileMap validate(Map<?, ?> arg, SchemaConfiguration configuration)
File1BoxedMap validateAndBox(Map<?, ?> arg, SchemaConfiguration configuration)
File1Boxed validateAndBox(@Nullable Object arg, SchemaConfiguration configuration)
@Nullable Object validate(@Nullable Object arg, SchemaConfiguration configuration)

FileMapBuilder

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

A class that builds the Map input type

Constructor Summary

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

FileMap

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

A class to store validated Map payloads

Method Summary

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

SourceURIBoxed

public sealed interface SourceURIBoxed
permits
SourceURIBoxedString

sealed interface that stores validated payloads using boxed classes

SourceURIBoxedString

public record SourceURIBoxedString
implements SourceURIBoxed

record that stores validated String payloads, sealed permits implementation

Constructor Summary

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

Method Summary

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

SourceURI

public static class SourceURI
extends StringJsonSchema.StringJsonSchema1

A schema class that validates payloads

Description

Test capitalization

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

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