Skip to content

Latest commit

 

History

History
143 lines (115 loc) · 5.82 KB

File metadata and controls

143 lines (115 loc) · 5.82 KB

StringEnum

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

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 StringEnum.StringEnum1Boxed
sealed interface for validated payloads
record StringEnum.StringEnum1BoxedVoid
boxed class to store validated null payloads
record StringEnum.StringEnum1BoxedString
boxed class to store validated String payloads
static class StringEnum.StringEnum1
schema class
enum StringEnum.StringStringEnumEnums
String enum
enum StringEnum.NullStringEnumEnums
null enum

StringEnum1Boxed

public sealed interface StringEnum1Boxed
permits
StringEnum1BoxedVoid, StringEnum1BoxedString

sealed interface that stores validated payloads using boxed classes

StringEnum1BoxedVoid

public record StringEnum1BoxedVoid
implements StringEnum1Boxed

record that stores validated null payloads, sealed permits implementation

Constructor Summary

Constructor and Description
StringEnum1BoxedVoid(Void data)
Creates an instance, private visibility

Method Summary

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

StringEnum1BoxedString

public record StringEnum1BoxedString
implements StringEnum1Boxed

record that stores validated String payloads, sealed permits implementation

Constructor Summary

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

Method Summary

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

StringEnum1

public static class StringEnum1
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.StringEnum;

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

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

// null validation
Void validatedPayload = StringEnum.StringEnum1.validate(
    (Void) null,
    configuration
);

// String validation
String validatedPayload = StringEnum.StringEnum1.validate(
    "placed",
    configuration
);

Field Summary

Modifier and Type Field and Description
Set<Class<?>> type = Set.of(
    Void.class,
    String.class
)
Set enumValues = SetMaker.makeSet(
    "placed",
    "approved",
    "delivered",
    "single quoted",
    "multiple\nlines",
    "double quote \n with newline",
    null
)

Method Summary

Modifier and Type Method and Description
Void validate(Void arg, SchemaConfiguration configuration)
Void validate(NullStringEnumEnums arg, SchemaConfiguration configuration)
StringEnum1BoxedVoid validateAndBox(Void arg, SchemaConfiguration configuration)
String validate(String arg, SchemaConfiguration configuration)
String validate(StringStringEnumEnums arg, SchemaConfiguration configuration)
StringEnum1BoxedString validateAndBox(String arg, SchemaConfiguration configuration)
StringEnum1Boxed validateAndBox(@Nullable Object arg, SchemaConfiguration configuration)
@Nullable Object validate(@Nullable Object arg, SchemaConfiguration configuration)

StringStringEnumEnums

public enum StringStringEnumEnums
extends Enum<StringStringEnumEnums>

A class that stores String enum values

Enum Constant Summary

Enum Constant Description
PLACED value = "placed"
APPROVED value = "approved"
DELIVERED value = "delivered"
SINGLE_QUOTED value = "single quoted"
MULTIPLE_LINE_FEED_LF_LINES value = "multiple\nlines"
DOUBLE_QUOTE_LINE_FEED_LF_WITH_NEWLINE value = "double quote \n with newline"

NullStringEnumEnums

public enum NullStringEnumEnums
extends Enum<NullStringEnumEnums>

A class that stores null enum values

Enum Constant Summary

Enum Constant Description
NONE value = null

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