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

Latest commit

 

History

History
95 lines (76 loc) · 3.83 KB

File metadata and controls

95 lines (76 loc) · 3.83 KB

Player

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

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 Player.Player1
schema class
static class Player.PlayerMap
output class for Map payloads
static class Player.Name
schema class

Player1

public static class Player1
extends JsonSchema

A schema class that validates payloads

Description

a model that includes a self reference this forces properties and additionalProperties to be lazy loaded in python models because the Player class has not fully loaded when defining properties

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
Player.PlayerMap validatedPayload =
    Player.Player1.validate(
    MapMaker.makeMap(
        new AbstractMap.SimpleEntry<>(
            "name",
            "a"
        )
    ),
    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("name", Name.class)),
        new PropertyEntry("enemyPlayer", Player1.class))
    )))
));

Method Summary

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

PlayerMap

public static class PlayerMap
extends FrozenMap<String, Object>

A class to store validated Map payloads

Method Summary

Modifier and Type Method and Description
static PlayerMap of(Map<String, Object> arg, SchemaConfiguration configuration)
String name()
[optional]
PlayerMap enemyPlayer()
[optional]
Object getAdditionalProperty(String name)
provides type safety for additional properties

Input Map Keys

type: Map<String, Object>
Key Type Description Notes
name String [optional]
enemyPlayer Map<String, Object> [optional]
anyStringName Object any string name can be used but the value must be the correct type [optional]

Name

public static class Name
extends StringJsonSchema

A schema class that validates payloads

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

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