org.openapijsonschematools.client.components.schemas.BananaReq.java
public class BananaReq
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
- classes to store validated map payloads, extends FrozenMap
- classes to build inputs for map payloads
Modifier and Type | Class and Description |
---|---|
sealed interface | BananaReq.BananaReq1Boxed sealed interface for validated payloads |
record | BananaReq.BananaReq1BoxedMap boxed class to store validated Map payloads |
static class | BananaReq.BananaReq1 schema class |
static class | BananaReq.BananaReqMapBuilder builder for Map payloads |
static class | BananaReq.BananaReqMap output class for Map payloads |
sealed interface | BananaReq.SweetBoxed sealed interface for validated payloads |
record | BananaReq.SweetBoxedBoolean boxed class to store validated boolean payloads |
static class | BananaReq.Sweet schema class |
sealed interface | BananaReq.LengthCmBoxed sealed interface for validated payloads |
record | BananaReq.LengthCmBoxedNumber boxed class to store validated Number payloads |
static class | BananaReq.LengthCm schema class |
sealed interface | BananaReq.AdditionalPropertiesBoxed sealed interface for validated payloads |
record | BananaReq.AdditionalPropertiesBoxedVoid boxed class to store validated null payloads |
record | BananaReq.AdditionalPropertiesBoxedBoolean boxed class to store validated boolean payloads |
record | BananaReq.AdditionalPropertiesBoxedNumber boxed class to store validated Number payloads |
record | BananaReq.AdditionalPropertiesBoxedString boxed class to store validated String payloads |
record | BananaReq.AdditionalPropertiesBoxedList boxed class to store validated List payloads |
record | BananaReq.AdditionalPropertiesBoxedMap boxed class to store validated Map payloads |
static class | BananaReq.AdditionalProperties schema class |
public sealed interface BananaReq1Boxed
permits
BananaReq1BoxedMap
sealed interface that stores validated payloads using boxed classes
public record BananaReq1BoxedMap
implements BananaReq1Boxed
record that stores validated Map payloads, sealed permits implementation
Constructor and Description |
---|
BananaReq1BoxedMap(BananaReqMap data) Creates an instance, private visibility |
Modifier and Type | Method and Description |
---|---|
BananaReqMap | data() validated payload |
@Nullable Object | getData() validated payload |
public static class BananaReq1
extends JsonSchema
A schema class that validates payloads
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.BananaReq;
import java.util.Arrays;
import java.util.List;
import java.util.AbstractMap;
static final SchemaConfiguration configuration = new SchemaConfiguration(new JsonSchemaKeywordFlags.Builder().build());
// Map validation
BananaReq.BananaReqMap validatedPayload =
BananaReq.BananaReq1.validate(
new BananaReq.BananaReqMapBuilder()
.lengthCm(1)
.sweet(true)
.build(),
configuration
);
Modifier and Type | Field and Description |
---|---|
Set<Class<?>> | type = Set.of(Map.class) |
Map<String, Class<? extends JsonSchema>> | properties = Map.ofEntries( new PropertyEntry("lengthCm", LengthCm.class)), new PropertyEntry("sweet", Sweet.class)) ) |
Set | required = Set.of( "lengthCm" ) |
Class<? extends JsonSchema> | additionalProperties = AdditionalProperties.class |
Modifier and Type | Method and Description |
---|---|
BananaReqMap | validate(Map<?, ?> arg, SchemaConfiguration configuration) |
BananaReq1BoxedMap | validateAndBox(Map<?, ?> arg, SchemaConfiguration configuration) |
BananaReq1Boxed | validateAndBox(@Nullable Object arg, SchemaConfiguration configuration) |
@Nullable Object | validate(@Nullable Object arg, SchemaConfiguration configuration) |
public class BananaReqMap0Builder
builder for Map<String, Object>
A class that builds the Map input type
Constructor and Description |
---|
BananaReqMap0Builder(Map<String, Object> instance) Creates a builder that contains the passed instance |
Modifier and Type | Method and Description |
---|---|
Map<String, Object> | build() Returns map input that should be used with Schema.validate |
BananaReqMap0Builder | sweet(boolean value) |
public class BananaReqMapBuilder
builder for Map<String, Object>
A class that builds the Map input type
Constructor and Description |
---|
BananaReqMapBuilder() Creates a builder that contains an empty map |
Modifier and Type | Method and Description |
---|---|
BananaReqMap0Builder | lengthCm(int value) |
BananaReqMap0Builder | lengthCm(float value) |
BananaReqMap0Builder | lengthCm(long value) |
BananaReqMap0Builder | lengthCm(double value) |
public static class BananaReqMap
extends FrozenMap<String, Object>
A class to store validated Map payloads
Modifier and Type | Method and Description |
---|---|
static BananaReqMap | of(Map<String, Object> arg, SchemaConfiguration configuration) |
Number | lengthCm() |
boolean | sweet() [optional] |
public sealed interface SweetBoxed
permits
SweetBoxedBoolean
sealed interface that stores validated payloads using boxed classes
public record SweetBoxedBoolean
implements SweetBoxed
record that stores validated boolean payloads, sealed permits implementation
Constructor and Description |
---|
SweetBoxedBoolean(boolean data) Creates an instance, private visibility |
Modifier and Type | Method and Description |
---|---|
boolean | data() validated payload |
@Nullable Object | getData() validated payload |
public static class Sweet
extends BooleanJsonSchema.BooleanJsonSchema1
A schema class that validates payloads
Methods Inherited from class org.openapijsonschematools.client.schemas.BooleanJsonSchema.BooleanJsonSchema1 |
---|
validate |
validateAndBox |
public sealed interface LengthCmBoxed
permits
LengthCmBoxedNumber
sealed interface that stores validated payloads using boxed classes
public record LengthCmBoxedNumber
implements LengthCmBoxed
record that stores validated Number payloads, sealed permits implementation
Constructor and Description |
---|
LengthCmBoxedNumber(Number data) Creates an instance, private visibility |
Modifier and Type | Method and Description |
---|---|
Number | data() validated payload |
@Nullable Object | getData() validated payload |
public static class LengthCm
extends NumberJsonSchema.NumberJsonSchema1
A schema class that validates payloads
Methods Inherited from class org.openapijsonschematools.client.schemas.NumberJsonSchema.NumberJsonSchema1 |
---|
validate |
validateAndBox |
public sealed interface AdditionalPropertiesBoxed
permits
AdditionalPropertiesBoxedVoid,
AdditionalPropertiesBoxedBoolean,
AdditionalPropertiesBoxedNumber,
AdditionalPropertiesBoxedString,
AdditionalPropertiesBoxedList,
AdditionalPropertiesBoxedMap
sealed interface that stores validated payloads using boxed classes
public record AdditionalPropertiesBoxedVoid
implements AdditionalPropertiesBoxed
record that stores validated null payloads, sealed permits implementation
Constructor and Description |
---|
AdditionalPropertiesBoxedVoid(Void data) Creates an instance, private visibility |
Modifier and Type | Method and Description |
---|---|
Void | data() validated payload |
@Nullable Object | getData() validated payload |
public record AdditionalPropertiesBoxedBoolean
implements AdditionalPropertiesBoxed
record that stores validated boolean payloads, sealed permits implementation
Constructor and Description |
---|
AdditionalPropertiesBoxedBoolean(boolean data) Creates an instance, private visibility |
Modifier and Type | Method and Description |
---|---|
boolean | data() validated payload |
@Nullable Object | getData() validated payload |
public record AdditionalPropertiesBoxedNumber
implements AdditionalPropertiesBoxed
record that stores validated Number payloads, sealed permits implementation
Constructor and Description |
---|
AdditionalPropertiesBoxedNumber(Number data) Creates an instance, private visibility |
Modifier and Type | Method and Description |
---|---|
Number | data() validated payload |
@Nullable Object | getData() validated payload |
public record AdditionalPropertiesBoxedString
implements AdditionalPropertiesBoxed
record that stores validated String payloads, sealed permits implementation
Constructor and Description |
---|
AdditionalPropertiesBoxedString(String data) Creates an instance, private visibility |
Modifier and Type | Method and Description |
---|---|
String | data() validated payload |
@Nullable Object | getData() validated payload |
public record AdditionalPropertiesBoxedList
implements AdditionalPropertiesBoxed
record that stores validated List payloads, sealed permits implementation
Constructor and Description |
---|
AdditionalPropertiesBoxedList(FrozenList<@Nullable Object> data) Creates an instance, private visibility |
Modifier and Type | Method and Description |
---|---|
FrozenList<@Nullable Object> | data() validated payload |
@Nullable Object | getData() validated payload |
public record AdditionalPropertiesBoxedMap
implements AdditionalPropertiesBoxed
record that stores validated Map payloads, sealed permits implementation
Constructor and Description |
---|
AdditionalPropertiesBoxedMap(FrozenMap<@Nullable Object> data) Creates an instance, private visibility |
Modifier and Type | Method and Description |
---|---|
FrozenMap<@Nullable Object> | data() validated payload |
@Nullable Object | getData() validated payload |
public static class AdditionalProperties
extends NotAnyTypeJsonSchema.NotAnyTypeJsonSchema1
A schema class that validates payloads
Methods Inherited from class org.openapijsonschematools.client.schemas.NotAnyTypeJsonSchema.NotAnyTypeJsonSchema1 |
---|
validate |
validateAndBox |