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

Java, add String schema classes #275

Merged
merged 4 commits into from
Nov 7, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions samples/client/petstore/java/.openapi-generator/FILES
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,9 @@ src/main/java/org/openapijsonschematools/configurations/SchemaConfiguration.java
src/main/java/org/openapijsonschematools/schemas/AnyTypeSchema.java
src/main/java/org/openapijsonschematools/schemas/BooleanSchema.java
src/main/java/org/openapijsonschematools/schemas/CustomIsoparser.java
src/main/java/org/openapijsonschematools/schemas/DateSchema.java
src/main/java/org/openapijsonschematools/schemas/DateTimeSchema.java
src/main/java/org/openapijsonschematools/schemas/DecimalSchema.java
src/main/java/org/openapijsonschematools/schemas/DoubleSchema.java
src/main/java/org/openapijsonschematools/schemas/FloatSchema.java
src/main/java/org/openapijsonschematools/schemas/Int32Schema.java
Expand All @@ -16,6 +19,7 @@ src/main/java/org/openapijsonschematools/schemas/PathToSchemasMap.java
src/main/java/org/openapijsonschematools/schemas/PathToTypeMap.java
src/main/java/org/openapijsonschematools/schemas/Schema.java
src/main/java/org/openapijsonschematools/schemas/SchemaValidator.java
src/main/java/org/openapijsonschematools/schemas/StringSchema.java
src/main/java/org/openapijsonschematools/schemas/UnsetAnyTypeSchema.java
src/main/java/org/openapijsonschematools/schemas/ValidationMetadata.java
src/main/java/org/openapijsonschematools/schemas/validators/FormatValidator.java
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
package org.openapijsonschematools.schemas;

import org.openapijsonschematools.configurations.SchemaConfiguration;

import java.util.LinkedHashSet;
import java.time.LocalDate;

record DateSchema(LinkedHashSet<Class<?>> type, String format) implements Schema {
public static DateSchema withDefaults() {
LinkedHashSet<Class<?>> type = new LinkedHashSet<>();
type.add(String.class);
String format = "date";
return new DateSchema(type, format);
}

public static String validate(String arg, SchemaConfiguration configuration) {
return Schema.validate(DateSchema.class, arg, configuration);
}

public static String validate(LocalDate arg, SchemaConfiguration configuration) {
return Schema.validate(DateSchema.class, arg, configuration);
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
package org.openapijsonschematools.schemas;

import org.openapijsonschematools.configurations.SchemaConfiguration;

import java.util.LinkedHashSet;
import java.time.ZonedDateTime;

record DateTimeSchema(LinkedHashSet<Class<?>> type, String format) implements Schema {
public static DateTimeSchema withDefaults() {
LinkedHashSet<Class<?>> type = new LinkedHashSet<>();
type.add(String.class);
String format = "date-time";
return new DateTimeSchema(type, format);
}

public static String validate(String arg, SchemaConfiguration configuration) {
return Schema.validate(DateTimeSchema.class, arg, configuration);
}

public static String validate(ZonedDateTime arg, SchemaConfiguration configuration) {
return Schema.validate(DateTimeSchema.class, arg, configuration);
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
package org.openapijsonschematools.schemas;

import org.openapijsonschematools.configurations.SchemaConfiguration;

import java.util.LinkedHashSet;

record DecimalSchema(LinkedHashSet<Class<?>> type, String format) implements Schema {
public static DecimalSchema withDefaults() {
LinkedHashSet<Class<?>> type = new LinkedHashSet<>();
type.add(String.class);
String format = "number";
return new DecimalSchema(type, format);
}

public static String validate(String arg, SchemaConfiguration configuration) {
return Schema.validate(DecimalSchema.class, arg, configuration);
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
package org.openapijsonschematools.schemas;

import org.openapijsonschematools.configurations.SchemaConfiguration;

import java.util.LinkedHashSet;
import java.time.ZonedDateTime;
import java.time.LocalDate;

record StringSchema(LinkedHashSet<Class<?>> type) implements Schema {
public static StringSchema withDefaults() {
LinkedHashSet<Class<?>> type = new LinkedHashSet<>();
type.add(String.class);
return new StringSchema(type);
}

public static String validate(String arg, SchemaConfiguration configuration) {
return Schema.validate(StringSchema.class, arg, configuration);
}

public static String validate(ZonedDateTime arg, SchemaConfiguration configuration) {
return Schema.validate(StringSchema.class, arg, configuration);
}

public static String validate(LocalDate arg, SchemaConfiguration configuration) {
return Schema.validate(StringSchema.class, arg, configuration);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -273,6 +273,18 @@ public void processOpts() {
"src/main/java/org/openapitools/schemas/CustomIsoparser.hbs",
packagePath() + File.separatorChar + "schemas",
"CustomIsoparser.java"));
supportingFiles.add(new SupportingFile(
"src/main/java/org/openapitools/schemas/DateSchema.hbs",
packagePath() + File.separatorChar + "schemas",
"DateSchema.java"));
supportingFiles.add(new SupportingFile(
"src/main/java/org/openapitools/schemas/DateTimeSchema.hbs",
packagePath() + File.separatorChar + "schemas",
"DateTimeSchema.java"));
supportingFiles.add(new SupportingFile(
"src/main/java/org/openapitools/schemas/DecimalSchema.hbs",
packagePath() + File.separatorChar + "schemas",
"DecimalSchema.java"));
supportingFiles.add(new SupportingFile(
"src/main/java/org/openapitools/schemas/DoubleSchema.hbs",
packagePath() + File.separatorChar + "schemas",
Expand Down Expand Up @@ -317,6 +329,10 @@ public void processOpts() {
"src/main/java/org/openapitools/schemas/SchemaValidator.hbs",
packagePath() + File.separatorChar + "schemas",
"SchemaValidator.java"));
supportingFiles.add(new SupportingFile(
"src/main/java/org/openapitools/schemas/StringSchema.hbs",
packagePath() + File.separatorChar + "schemas",
"StringSchema.java"));
supportingFiles.add(new SupportingFile(
"src/main/java/org/openapitools/schemas/UnsetAnyTypeSchema.hbs",
packagePath() + File.separatorChar + "schemas",
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
package {{{packageName}}}.schemas;

import {{{packageName}}}.configurations.SchemaConfiguration;

import java.util.LinkedHashSet;
import java.time.LocalDate;

record DateSchema(LinkedHashSet<Class<?>> type, String format) implements Schema {
public static DateSchema withDefaults() {
LinkedHashSet<Class<?>> type = new LinkedHashSet<>();
type.add(String.class);
String format = "date";
return new DateSchema(type, format);
}

public static String validate(String arg, SchemaConfiguration configuration) {
return Schema.validate(DateSchema.class, arg, configuration);
}

public static String validate(LocalDate arg, SchemaConfiguration configuration) {
return Schema.validate(DateSchema.class, arg, configuration);
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
package {{{packageName}}}.schemas;

import {{{packageName}}}.configurations.SchemaConfiguration;

import java.util.LinkedHashSet;
import java.time.ZonedDateTime;

record DateTimeSchema(LinkedHashSet<Class<?>> type, String format) implements Schema {
public static DateTimeSchema withDefaults() {
LinkedHashSet<Class<?>> type = new LinkedHashSet<>();
type.add(String.class);
String format = "date-time";
return new DateTimeSchema(type, format);
}

public static String validate(String arg, SchemaConfiguration configuration) {
return Schema.validate(DateTimeSchema.class, arg, configuration);
}

public static String validate(ZonedDateTime arg, SchemaConfiguration configuration) {
return Schema.validate(DateTimeSchema.class, arg, configuration);
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
package {{{packageName}}}.schemas;

import {{{packageName}}}.configurations.SchemaConfiguration;

import java.util.LinkedHashSet;

record DecimalSchema(LinkedHashSet<Class<?>> type, String format) implements Schema {
public static DecimalSchema withDefaults() {
LinkedHashSet<Class<?>> type = new LinkedHashSet<>();
type.add(String.class);
String format = "number";
return new DecimalSchema(type, format);
}

public static String validate(String arg, SchemaConfiguration configuration) {
return Schema.validate(DecimalSchema.class, arg, configuration);
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
package {{{packageName}}}.schemas;

import {{{packageName}}}.configurations.SchemaConfiguration;

import java.util.LinkedHashSet;
import java.time.ZonedDateTime;
import java.time.LocalDate;

record StringSchema(LinkedHashSet<Class<?>> type) implements Schema {
public static StringSchema withDefaults() {
LinkedHashSet<Class<?>> type = new LinkedHashSet<>();
type.add(String.class);
return new StringSchema(type);
}

public static String validate(String arg, SchemaConfiguration configuration) {
return Schema.validate(StringSchema.class, arg, configuration);
}

public static String validate(ZonedDateTime arg, SchemaConfiguration configuration) {
return Schema.validate(StringSchema.class, arg, configuration);
}

public static String validate(LocalDate arg, SchemaConfiguration configuration) {
return Schema.validate(StringSchema.class, arg, configuration);
}
}