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

Latest commit

 

History

History
103 lines (83 loc) · 4.18 KB

File metadata and controls

103 lines (83 loc) · 4.18 KB

EnumClass

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

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
  • enum classes

Nested Class Summary

Modifier and Type Class and Description
sealed interface EnumClass.EnumClass1Boxed
sealed interface for validated payloads
record EnumClass.EnumClass1BoxedString
boxed class to store validated String payloads
static class EnumClass.EnumClass1
schema class
enum EnumClass.StringEnumClassEnums
String enum

EnumClass1Boxed

public sealed interface EnumClass1Boxed
permits
EnumClass1BoxedString

sealed interface that stores validated payloads using boxed classes

EnumClass1BoxedString

public record EnumClass1BoxedString
implements EnumClass1Boxed

record that stores validated String payloads, sealed permits implementation

Constructor Summary

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

Method Summary

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

EnumClass1

public static class EnumClass1
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.EnumClass;

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

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

// String validation
String validatedPayload = EnumClass.EnumClass1.validate(
    "_abc",
    configuration
);

Field Summary

Modifier and Type Field and Description
Set<Class<?>> type = Set.of(
    String.class
)
Set enumValues = SetMaker.makeSet(
    "_abc",
    "-efg",
    "(xyz)",
    "COUNT_1M",
    "COUNT_50M"
)
@Nullable Object defaultValue = "-efg"

Method Summary

Modifier and Type Method and Description
String validate(String arg, SchemaConfiguration configuration)
String validate(StringEnumClassEnums arg, SchemaConfiguration configuration)
EnumClass1BoxedString validateAndBox(String arg, SchemaConfiguration configuration)
EnumClass1Boxed validateAndBox(@Nullable Object arg, SchemaConfiguration configuration)
@Nullable Object validate(@Nullable Object arg, SchemaConfiguration configuration)

StringEnumClassEnums

public enum StringEnumClassEnums
extends Enum<StringEnumClassEnums>

A class that stores String enum values

Enum Constant Summary

Enum Constant Description
LOW_LINE_ABC value = "_abc"
HYPHEN_MINUS_EFG value = "-efg"
LEFT_PARENTHESIS_XYZ_RIGHT_PARENTHESIS value = "(xyz)"
COUNT_1M value = "COUNT_1M"
COUNT_50M value = "COUNT_50M"

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