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

Latest commit

 

History

History
116 lines (92 loc) · 4.72 KB

File metadata and controls

116 lines (92 loc) · 4.72 KB

BananaReq

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

A class that contains necessary nested schema classes, and classes to store validated list and map payloads

Nested Class Summary

Modifier and Type Class and Description
static class BananaReq.BananaReq1
schema class
static class BananaReq.BananaReqMap
output class for Map payloads
static class BananaReq.Sweet
schema class
static class BananaReq.LengthCm
schema class
static class BananaReq.AdditionalProperties
schema class

BananaReq1

public static class BananaReq1
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.MapMaker;
import org.openapijsonschematools.client.schemas.validation.FrozenList;
import org.openapijsonschematools.client.schemas.validation.FrozenMap;

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

static final SchemaConfiguration configuration = new SchemaConfiguration(JsonSchemaKeywordFlags.ofNone());

// Map validation
BananaReq.BananaReqMap validatedPayload =
    BananaReq.BananaReq1.validate(
    MapMaker.makeMap(
        new AbstractMap.SimpleEntry<>(
            "lengthCm",
            1
        ),
        new AbstractMap.SimpleEntry<>(
            "sweet",
            true
        )
    ),
    configuration
);

Field Summary

Modifier and Type Field and Description
static LinkedHashMap<String, KeywordValidator> keywordToValidator
new LinkedHashMap<>(Map.ofEntries(
    new KeywordEntry("type", new TypeValidator(Set.of(FrozenMap.class))),
    new KeywordEntry("properties", new PropertiesValidator(Map.ofEntries(
        new PropertyEntry("lengthCm", LengthCm.class)),
        new PropertyEntry("sweet", Sweet.class))
    ))),
    new KeywordEntry("required", new RequiredValidator(Set.of(
        "lengthCm"
    ))),
    new KeywordEntry("additionalProperties", new AdditionalPropertiesValidator(AdditionalProperties.class))
));

Method Summary

Modifier and Type Method and Description
static BananaReqMap validate(Map<String, Object> arg, SchemaConfiguration configuration)

BananaReqMap

public static class BananaReqMap
extends FrozenMap<String, Object>

A class to store validated Map payloads

Method Summary

Modifier and Type Method and Description
static BananaReqMap of(Map<String, Object> arg, SchemaConfiguration configuration)
Number lengthCm()
boolean sweet()
[optional]

Input Map Keys

type: Map<String, Object>
Key Type Description Notes
lengthCm Number
sweet boolean [optional]

Sweet

public static class Sweet
extends BooleanJsonSchema

A schema class that validates payloads

Methods Inherited from class org.openapijsonschematools.client.schemas.BooleanJsonSchema
validate

LengthCm

public static class LengthCm
extends NumberJsonSchema

A schema class that validates payloads

Methods Inherited from class org.openapijsonschematools.client.schemas.NumberJsonSchema
validate

AdditionalProperties

public static class AdditionalProperties
extends NotAnyTypeJsonSchema

A schema class that validates payloads

Methods Inherited from class org.openapijsonschematools.client.schemas.NotAnyTypeJsonSchema
validate

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