Skip to content

Latest commit

 

History

History
85 lines (68 loc) · 3.82 KB

File metadata and controls

85 lines (68 loc) · 3.82 KB

DateTimeWithValidations

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

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

Nested Class Summary

Modifier and Type Class and Description
sealed interface DateTimeWithValidations.DateTimeWithValidations1Boxed
sealed interface for validated payloads
record DateTimeWithValidations.DateTimeWithValidations1BoxedString
boxed class to store validated String payloads
static class DateTimeWithValidations.DateTimeWithValidations1
schema class

DateTimeWithValidations1Boxed

public sealed interface DateTimeWithValidations1Boxed
permits
DateTimeWithValidations1BoxedString

sealed interface that stores validated payloads using boxed classes

DateTimeWithValidations1BoxedString

public record DateTimeWithValidations1BoxedString
implements DateTimeWithValidations1Boxed

record that stores validated String payloads, sealed permits implementation

Constructor Summary

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

Method Summary

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

DateTimeWithValidations1

public static class DateTimeWithValidations1
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.DateTimeWithValidations;

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 = DateTimeWithValidations.DateTimeWithValidations1.validate(
    "2020jUR,rZ#UM/?R,Fp^l6$ARj",
    configuration
);

Field Summary

Modifier and Type Field and Description
Set<Class<?>> type = Set.of(
    String.class
)
String type = "date-time";
Pattern pattern = Pattern.compile(
    "^2020.*"
)

Method Summary

Modifier and Type Method and Description
String validate(String arg, SchemaConfiguration configuration)
DateTimeWithValidations1BoxedString validateAndBox(String arg, SchemaConfiguration configuration)
DateTimeWithValidations1Boxed validateAndBox(@Nullable Object arg, SchemaConfiguration configuration)
@Nullable Object validate(@Nullable Object arg, SchemaConfiguration configuration)

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