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

Commit 8fecced

Browse files
authored
Java: adds sealed boxed classes for validated Schema payloads (#389)
* Adds request body templates * Adds validateToBoxed to AnyTypeSchema * Removes unused imports * Adds selaed class for string schemas * Adds boxed number classes * Adds null boxed class * Adds boolean boxed classes * Produces boxed list class * Adds map sealed classes * Adds validateAndBox for anytype schemas * Adds validateAndBox methods to all generated classes * Adds validateAndBox methods to the validator interfaces * Updates NotAnyTypeJsonSchema * Updates BooleanJsonSchema * Updates NullJsonSchema * Updates StringJsonSchema * Updates NumberJsonSchema * Updates IntJsonSchema * Updates UuidJsonSchema * Updates DecimalJsonSchema * Updates DateJsonSchema * Updates DateTimeJsonSchema * Updates ListJsonSchema * Updates MapJsonSchema * Updates UnsetAnyTypeJsonSchema * Uppdates DoubleJsonSchema * Updates FloatJsonSchema * Updates Int32JsonSchema * Updates Int64JsonSchema * Fixes java tests * Updates schema doc summary about what classes there are * Adds sealed class section to schema doc * Adds schema doc for sealed class * Adds a sentence describing the sealed class in its detailed section * Fixes readme typos * Adds boxed void class description in schema docs * Adds boolean boxed class section * Adds bodex string class section to schema docs * Adds boxed number classes to schema docs * Adds boxed list class info to schema docs * Adds boxed map classes * Adds links to boxed classes in schema docs * Fixes schema doc links for sealed classes with no types * Adds validateAndBox schema doc methods when types are unset for 4 types * Adds validateAndMap methods to schema docs * Updates schema docs to include validateAndBox methods * More schema doc tweaks * Samples regen
1 parent 262d435 commit 8fecced

File tree

1,249 files changed

+108564
-7261
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

1,249 files changed

+108564
-7261
lines changed

samples/client/3_0_3_unit_test/java/docs/components/schemas/AdditionalpropertiesAllowsASchemaWhichShouldValidate.md

+292-6
Large diffs are not rendered by default.

samples/client/3_0_3_unit_test/java/docs/components/schemas/AdditionalpropertiesAreAllowedByDefault.md

+360-4
Large diffs are not rendered by default.

samples/client/3_0_3_unit_test/java/docs/components/schemas/AdditionalpropertiesCanExistByItself.md

+56-2
Original file line numberDiff line numberDiff line change
@@ -4,17 +4,46 @@ public class AdditionalpropertiesCanExistByItself
44

55
A class that contains necessary nested
66
- schema classes (which validate payloads), extends JsonSchema
7+
- abstract sealed classes which store validated payloads, java version of a sum type
8+
- boxed classes which store validated payloads, sealed permits class implementations
79
- classes to store validated map payloads, extends FrozenMap
810
- classes to build inputs for map payloads
911

1012
## Nested Class Summary
1113
| Modifier and Type | Class and Description |
1214
| ----------------- | ---------------------- |
15+
| static class | [AdditionalpropertiesCanExistByItself.AdditionalpropertiesCanExistByItself1Boxed](#additionalpropertiescanexistbyitself1boxed)<br> abstract sealed validated payload class |
16+
| static class | [AdditionalpropertiesCanExistByItself.AdditionalpropertiesCanExistByItself1BoxedMap](#additionalpropertiescanexistbyitself1boxedmap)<br> boxed class to store validated Map payloads |
1317
| static class | [AdditionalpropertiesCanExistByItself.AdditionalpropertiesCanExistByItself1](#additionalpropertiescanexistbyitself1)<br> schema class |
1418
| static class | [AdditionalpropertiesCanExistByItself.AdditionalpropertiesCanExistByItselfMapBuilder](#additionalpropertiescanexistbyitselfmapbuilder)<br> builder for Map payloads |
1519
| static class | [AdditionalpropertiesCanExistByItself.AdditionalpropertiesCanExistByItselfMap](#additionalpropertiescanexistbyitselfmap)<br> output class for Map payloads |
20+
| static class | [AdditionalpropertiesCanExistByItself.AdditionalPropertiesBoxed](#additionalpropertiesboxed)<br> abstract sealed validated payload class |
21+
| static class | [AdditionalpropertiesCanExistByItself.AdditionalPropertiesBoxedBoolean](#additionalpropertiesboxedboolean)<br> boxed class to store validated boolean payloads |
1622
| static class | [AdditionalpropertiesCanExistByItself.AdditionalProperties](#additionalproperties)<br> schema class |
1723

24+
## AdditionalpropertiesCanExistByItself1Boxed
25+
public static abstract sealed class AdditionalpropertiesCanExistByItself1Boxed<br>
26+
permits<br>
27+
[AdditionalpropertiesCanExistByItself1BoxedMap](#additionalpropertiescanexistbyitself1boxedmap)
28+
29+
abstract sealed class that stores validated payloads using boxed classes
30+
31+
## AdditionalpropertiesCanExistByItself1BoxedMap
32+
public static final class AdditionalpropertiesCanExistByItself1BoxedMap<br>
33+
extends [AdditionalpropertiesCanExistByItself1Boxed](#additionalpropertiescanexistbyitself1boxed)
34+
35+
a boxed class to store validated Map payloads, sealed permits class implementation
36+
37+
### Constructor Summary
38+
| Constructor and Description |
39+
| --------------------------- |
40+
| AdditionalpropertiesCanExistByItself1BoxedMap([AdditionalpropertiesCanExistByItselfMap](#additionalpropertiescanexistbyitselfmap) data)<br>Creates an instance, private visibility |
41+
42+
### Field Summary
43+
| Modifier and Type | Field and Description |
44+
| ----------------- | ---------------------- |
45+
| [AdditionalpropertiesCanExistByItselfMap](#additionalpropertiescanexistbyitselfmap) | data<br>validated payload |
46+
1847
## AdditionalpropertiesCanExistByItself1
1948
public static class AdditionalpropertiesCanExistByItself1<br>
2049
extends JsonSchema
@@ -57,6 +86,7 @@ AdditionalpropertiesCanExistByItself.AdditionalpropertiesCanExistByItselfMap val
5786
| Modifier and Type | Method and Description |
5887
| ----------------- | ---------------------- |
5988
| [AdditionalpropertiesCanExistByItselfMap](#additionalpropertiescanexistbyitselfmap) | validate([Map&lt;?, ?&gt;](#additionalpropertiescanexistbyitselfmapbuilder) arg, SchemaConfiguration configuration) |
89+
| [AdditionalpropertiesCanExistByItself1BoxedMap](#additionalpropertiescanexistbyitself1boxedmap) | validateAndBox([Map&lt;?, ?&gt;](#additionalpropertiescanexistbyitselfmapbuilder) arg, SchemaConfiguration configuration) |
6090
| @Nullable Object | validate(@Nullable Object arg, SchemaConfiguration configuration) |
6191
## AdditionalpropertiesCanExistByItselfMapBuilder
6292
public class AdditionalpropertiesCanExistByItselfMapBuilder<br>
@@ -87,14 +117,38 @@ A class to store validated Map payloads
87117
| static [AdditionalpropertiesCanExistByItselfMap](#additionalpropertiescanexistbyitselfmap) | of([Map<String, Boolean>](#additionalpropertiescanexistbyitselfmapbuilder) arg, SchemaConfiguration configuration) |
88118
| boolean | getAdditionalProperty(String name)<br>provides type safety for additional properties |
89119

120+
## AdditionalPropertiesBoxed
121+
public static abstract sealed class AdditionalPropertiesBoxed<br>
122+
permits<br>
123+
[AdditionalPropertiesBoxedBoolean](#additionalpropertiesboxedboolean)
124+
125+
abstract sealed class that stores validated payloads using boxed classes
126+
127+
## AdditionalPropertiesBoxedBoolean
128+
public static final class AdditionalPropertiesBoxedBoolean<br>
129+
extends [AdditionalPropertiesBoxed](#additionalpropertiesboxed)
130+
131+
a boxed class to store validated boolean payloads, sealed permits class implementation
132+
133+
### Constructor Summary
134+
| Constructor and Description |
135+
| --------------------------- |
136+
| AdditionalPropertiesBoxedBoolean(boolean data)<br>Creates an instance, private visibility |
137+
138+
### Field Summary
139+
| Modifier and Type | Field and Description |
140+
| ----------------- | ---------------------- |
141+
| boolean | data<br>validated payload |
142+
90143
## AdditionalProperties
91144
public static class AdditionalProperties<br>
92-
extends BooleanJsonSchema
145+
extends BooleanJsonSchema.BooleanJsonSchema1
93146

94147
A schema class that validates payloads
95148

96-
| Methods Inherited from class org.openapijsonschematools.client.schemas.BooleanJsonSchema |
149+
| Methods Inherited from class org.openapijsonschematools.client.schemas.BooleanJsonSchema.BooleanJsonSchema1 |
97150
| ------------------------------------------------------------------ |
98151
| validate |
152+
| validateAndBox |
99153

100154
[[Back to top]](#top) [[Back to Component Schemas]](../../../README.md#Component-Schemas) [[Back to README]](../../../README.md)

0 commit comments

Comments
 (0)