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

Java, adds output class types for array and object schema types #293

Merged
merged 15 commits into from
Nov 20, 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
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
48 changes: 23 additions & 25 deletions samples/client/petstore/java/.openapi-generator/FILES
Original file line number Diff line number Diff line change
Expand Up @@ -343,53 +343,51 @@ src/main/java/org/openapijsonschematools/paths/userusername/put/PathParameters.j
src/main/java/org/openapijsonschematools/paths/userusername/put/requestbody/content/applicationjson/Schema.java
src/main/java/org/openapijsonschematools/schemas/AnyTypeJsonSchema.java
src/main/java/org/openapijsonschematools/schemas/BooleanJsonSchema.java
src/main/java/org/openapijsonschematools/schemas/CustomIsoparser.java
src/main/java/org/openapijsonschematools/schemas/DateJsonSchema.java
src/main/java/org/openapijsonschematools/schemas/DateTimeJsonSchema.java
src/main/java/org/openapijsonschematools/schemas/DecimalJsonSchema.java
src/main/java/org/openapijsonschematools/schemas/DoubleJsonSchema.java
src/main/java/org/openapijsonschematools/schemas/FloatJsonSchema.java
src/main/java/org/openapijsonschematools/schemas/FrozenList.java
src/main/java/org/openapijsonschematools/schemas/FrozenMap.java
src/main/java/org/openapijsonschematools/schemas/Int32JsonSchema.java
src/main/java/org/openapijsonschematools/schemas/Int64JsonSchema.java
src/main/java/org/openapijsonschematools/schemas/IntJsonSchema.java
src/main/java/org/openapijsonschematools/schemas/JsonSchema.java
src/main/java/org/openapijsonschematools/schemas/ListJsonSchema.java
src/main/java/org/openapijsonschematools/schemas/MapJsonSchema.java
src/main/java/org/openapijsonschematools/schemas/NotAnyTypeJsonSchema.java
src/main/java/org/openapijsonschematools/schemas/NullJsonSchema.java
src/main/java/org/openapijsonschematools/schemas/NumberJsonSchema.java
src/main/java/org/openapijsonschematools/schemas/PathToSchemasMap.java
src/main/java/org/openapijsonschematools/schemas/PathToTypeMap.java
src/main/java/org/openapijsonschematools/schemas/SchemaValidator.java
src/main/java/org/openapijsonschematools/schemas/StringJsonSchema.java
src/main/java/org/openapijsonschematools/schemas/UnsetAnyTypeJsonSchema.java
src/main/java/org/openapijsonschematools/schemas/UuidJsonSchema.java
src/main/java/org/openapijsonschematools/schemas/ValidationMetadata.java
src/main/java/org/openapijsonschematools/schemas/validators/AdditionalPropertiesValidator.java
src/main/java/org/openapijsonschematools/schemas/validators/FakeValidator.java
src/main/java/org/openapijsonschematools/schemas/validators/FormatValidator.java
src/main/java/org/openapijsonschematools/schemas/validators/ItemsValidator.java
src/main/java/org/openapijsonschematools/schemas/validators/KeywordValidator.java
src/main/java/org/openapijsonschematools/schemas/validators/PropertiesValidator.java
src/main/java/org/openapijsonschematools/schemas/validators/RequiredValidator.java
src/main/java/org/openapijsonschematools/schemas/validators/TypeValidator.java
src/main/java/org/openapijsonschematools/schemas/validation/AdditionalPropertiesValidator.java
src/main/java/org/openapijsonschematools/schemas/validation/CustomIsoparser.java
src/main/java/org/openapijsonschematools/schemas/validation/FakeValidator.java
src/main/java/org/openapijsonschematools/schemas/validation/FormatValidator.java
src/main/java/org/openapijsonschematools/schemas/validation/FrozenList.java
src/main/java/org/openapijsonschematools/schemas/validation/FrozenMap.java
src/main/java/org/openapijsonschematools/schemas/validation/ItemsValidator.java
src/main/java/org/openapijsonschematools/schemas/validation/JsonSchema.java
src/main/java/org/openapijsonschematools/schemas/validation/KeywordValidator.java
src/main/java/org/openapijsonschematools/schemas/validation/PathToSchemasMap.java
src/main/java/org/openapijsonschematools/schemas/validation/PropertiesValidator.java
src/main/java/org/openapijsonschematools/schemas/validation/RequiredValidator.java
src/main/java/org/openapijsonschematools/schemas/validation/TypeValidator.java
src/main/java/org/openapijsonschematools/schemas/validation/UnsetAnyTypeJsonSchema.java
src/main/java/org/openapijsonschematools/schemas/validation/ValidationMetadata.java
src/test/java/org/openapijsonschematools/configurations/JsonSchemaKeywordFlagsTest.java
src/test/java/org/openapijsonschematools/schemas/AnyTypeSchemaTest.java
src/test/java/org/openapijsonschematools/schemas/ArrayTypeSchemaTest.java
src/test/java/org/openapijsonschematools/schemas/BooleanSchemaTest.java
src/test/java/org/openapijsonschematools/schemas/CustomIsoparserTest.java
src/test/java/org/openapijsonschematools/schemas/ListSchemaTest.java
src/test/java/org/openapijsonschematools/schemas/MapSchemaTest.java
src/test/java/org/openapijsonschematools/schemas/NullSchemaTest.java
src/test/java/org/openapijsonschematools/schemas/NumberSchemaTest.java
src/test/java/org/openapijsonschematools/schemas/ObjectTypeSchemaTest.java
src/test/java/org/openapijsonschematools/schemas/RefBooleanSchemaTest.java
src/test/java/org/openapijsonschematools/schemas/SchemaValidatorTest.java
src/test/java/org/openapijsonschematools/schemas/validators/AdditionalPropertiesValidatorTest.java
src/test/java/org/openapijsonschematools/schemas/validators/FormatValidatorTest.java
src/test/java/org/openapijsonschematools/schemas/validators/ItemsValidatorTest.java
src/test/java/org/openapijsonschematools/schemas/validators/PropertiesValidatorTest.java
src/test/java/org/openapijsonschematools/schemas/validators/RequiredValidatorTest.java
src/test/java/org/openapijsonschematools/schemas/validators/TypeValidatorTest.java
src/test/java/org/openapijsonschematools/schemas/validation/AdditionalPropertiesValidatorTest.java
src/test/java/org/openapijsonschematools/schemas/validation/CustomIsoparserTest.java
src/test/java/org/openapijsonschematools/schemas/validation/FormatValidatorTest.java
src/test/java/org/openapijsonschematools/schemas/validation/ItemsValidatorTest.java
src/test/java/org/openapijsonschematools/schemas/validation/JsonSchemaTest.java
src/test/java/org/openapijsonschematools/schemas/validation/PropertiesValidatorTest.java
src/test/java/org/openapijsonschematools/schemas/validation/RequiredValidatorTest.java
src/test/java/org/openapijsonschematools/schemas/validation/TypeValidatorTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -4,19 +4,28 @@
import java.util.Set;
import org.openapijsonschematools.components.schemas.User;
import org.openapijsonschematools.configurations.SchemaConfiguration;
import org.openapijsonschematools.schemas.FrozenList;
import org.openapijsonschematools.schemas.JsonSchema;
import org.openapijsonschematools.schemas.validation.FrozenList;
import org.openapijsonschematools.schemas.validation.JsonSchema;

public class Schema {
// nest classes so all schemas and input/output classes can be public


public class Schema1 implements JsonSchema {
static final LinkedHashSet<Class<?>> type = new LinkedHashSet<>(Set.of(
public static class SchemaList extends FrozenList<Object> {
SchemaList(FrozenList<Object> m) {
super(m);
}
}

public class Schema1 extends JsonSchema {
public static final LinkedHashSet<Class<?>> type = new LinkedHashSet<>(Set.of(
FrozenList.class
));
static final Class<?> items = User.User1.class;
public static <U extends FrozenList> U validate(List<Object> arg, SchemaConfiguration configuration) {
public static final Class<?> items = User.User1.class;
protected static SchemaList getListOutputInstance(FrozenList<Object> arg) {
return new SchemaList(arg);
}
public static SchemaList validate(List<Object> arg, SchemaConfiguration configuration) {
return JsonSchema.validate(Schema1.class, arg, configuration);
}
}}
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,9 @@
import org.openapijsonschematools.components.responses.headerswithnobody.headers.location.LocationSchema;
import org.openapijsonschematools.configurations.SchemaConfiguration;
import org.openapijsonschematools.schemas.AnyTypeJsonSchema;
import org.openapijsonschematools.schemas.FrozenMap;
import org.openapijsonschematools.schemas.JsonSchema;
import org.openapijsonschematools.schemas.NotAnyTypeJsonSchema;
import org.openapijsonschematools.schemas.validation.FrozenMap;
import org.openapijsonschematools.schemas.validation.JsonSchema;

public class Headers {
// nest classes so all schemas and input/output classes can be public
Expand All @@ -19,15 +19,27 @@ public class AdditionalProperties extends NotAnyTypeJsonSchema {}
// NotAnyTypeSchema


public class Headers1 implements JsonSchema {
static final LinkedHashSet<Class<?>> type = new LinkedHashSet<>(Set.of(
public static class HeadersMap extends FrozenMap<String, Object> {
HeadersMap(FrozenMap<? extends String, ?> m) {
super(m);
}
public static HeadersMap of(Map<String, Object> arg, SchemaConfiguration configuration) {
return Headers1.validate(arg, configuration);
}
}

public class Headers1 extends JsonSchema {
public static final LinkedHashSet<Class<?>> type = new LinkedHashSet<>(Set.of(
FrozenMap.class
));
static final LinkedHashMap<String, Class<?>> properties = new LinkedHashMap<>(Map.ofEntries(
public static final LinkedHashMap<String, Class<?>> properties = new LinkedHashMap<>(Map.ofEntries(
new AbstractMap.SimpleEntry<String, Class<?>>("location", LocationSchema.LocationSchema1.class)
));
static final Class<?> additionalProperties = AdditionalProperties.class;
public static <T extends FrozenMap> T validate(Map<String, Object> arg, SchemaConfiguration configuration) {
protected static HeadersMap getMapOutputInstance(FrozenMap<? extends String, ?> arg) {
return new HeadersMap(arg);
}
public static HeadersMap validate(Map<String, Object> arg, SchemaConfiguration configuration) {
return JsonSchema.validate(Headers1.class, arg, configuration);
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,19 +5,28 @@
import org.openapijsonschematools.components.schemas.Pet;
import org.openapijsonschematools.components.schemas.RefPet;
import org.openapijsonschematools.configurations.SchemaConfiguration;
import org.openapijsonschematools.schemas.FrozenList;
import org.openapijsonschematools.schemas.JsonSchema;
import org.openapijsonschematools.schemas.validation.FrozenList;
import org.openapijsonschematools.schemas.validation.JsonSchema;

public class Schema {
// nest classes so all schemas and input/output classes can be public


public class Schema1 implements JsonSchema {
static final LinkedHashSet<Class<?>> type = new LinkedHashSet<>(Set.of(
public static class SchemaList extends FrozenList<Object> {
SchemaList(FrozenList<Object> m) {
super(m);
}
}

public class Schema1 extends JsonSchema {
public static final LinkedHashSet<Class<?>> type = new LinkedHashSet<>(Set.of(
FrozenList.class
));
static final Class<?> items = RefPet.RefPet1.class;
public static <U extends FrozenList> U validate(List<Object> arg, SchemaConfiguration configuration) {
public static final Class<?> items = RefPet.RefPet1.class;
protected static SchemaList getListOutputInstance(FrozenList<Object> arg) {
return new SchemaList(arg);
}
public static SchemaList validate(List<Object> arg, SchemaConfiguration configuration) {
return JsonSchema.validate(Schema1.class, arg, configuration);
}
}}
Original file line number Diff line number Diff line change
Expand Up @@ -4,19 +4,28 @@
import java.util.Set;
import org.openapijsonschematools.components.schemas.Pet;
import org.openapijsonschematools.configurations.SchemaConfiguration;
import org.openapijsonschematools.schemas.FrozenList;
import org.openapijsonschematools.schemas.JsonSchema;
import org.openapijsonschematools.schemas.validation.FrozenList;
import org.openapijsonschematools.schemas.validation.JsonSchema;

public class Schema {
// nest classes so all schemas and input/output classes can be public


public class Schema1 implements JsonSchema {
static final LinkedHashSet<Class<?>> type = new LinkedHashSet<>(Set.of(
public static class SchemaList extends FrozenList<Object> {
SchemaList(FrozenList<Object> m) {
super(m);
}
}

public class Schema1 extends JsonSchema {
public static final LinkedHashSet<Class<?>> type = new LinkedHashSet<>(Set.of(
FrozenList.class
));
static final Class<?> items = Pet.Pet1.class;
public static <U extends FrozenList> U validate(List<Object> arg, SchemaConfiguration configuration) {
public static final Class<?> items = Pet.Pet1.class;
protected static SchemaList getListOutputInstance(FrozenList<Object> arg) {
return new SchemaList(arg);
}
public static SchemaList validate(List<Object> arg, SchemaConfiguration configuration) {
return JsonSchema.validate(Schema1.class, arg, configuration);
}
}}
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,9 @@
import org.openapijsonschematools.components.responses.successinlinecontentandheader.headers.someheader.SomeHeaderSchema;
import org.openapijsonschematools.configurations.SchemaConfiguration;
import org.openapijsonschematools.schemas.AnyTypeJsonSchema;
import org.openapijsonschematools.schemas.FrozenMap;
import org.openapijsonschematools.schemas.JsonSchema;
import org.openapijsonschematools.schemas.NotAnyTypeJsonSchema;
import org.openapijsonschematools.schemas.validation.FrozenMap;
import org.openapijsonschematools.schemas.validation.JsonSchema;

public class Headers {
// nest classes so all schemas and input/output classes can be public
Expand All @@ -19,15 +19,27 @@ public class AdditionalProperties extends NotAnyTypeJsonSchema {}
// NotAnyTypeSchema


public class Headers1 implements JsonSchema {
static final LinkedHashSet<Class<?>> type = new LinkedHashSet<>(Set.of(
public static class HeadersMap extends FrozenMap<String, Object> {
HeadersMap(FrozenMap<? extends String, ?> m) {
super(m);
}
public static HeadersMap of(Map<String, Object> arg, SchemaConfiguration configuration) {
return Headers1.validate(arg, configuration);
}
}

public class Headers1 extends JsonSchema {
public static final LinkedHashSet<Class<?>> type = new LinkedHashSet<>(Set.of(
FrozenMap.class
));
static final LinkedHashMap<String, Class<?>> properties = new LinkedHashMap<>(Map.ofEntries(
public static final LinkedHashMap<String, Class<?>> properties = new LinkedHashMap<>(Map.ofEntries(
new AbstractMap.SimpleEntry<String, Class<?>>("someHeader", SomeHeaderSchema.SomeHeaderSchema1.class)
));
static final Class<?> additionalProperties = AdditionalProperties.class;
public static <T extends FrozenMap> T validate(Map<String, Object> arg, SchemaConfiguration configuration) {
protected static HeadersMap getMapOutputInstance(FrozenMap<? extends String, ?> arg) {
return new HeadersMap(arg);
}
public static HeadersMap validate(Map<String, Object> arg, SchemaConfiguration configuration) {
return JsonSchema.validate(Headers1.class, arg, configuration);
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,9 @@
import java.util.Map;
import java.util.Set;
import org.openapijsonschematools.configurations.SchemaConfiguration;
import org.openapijsonschematools.schemas.FrozenMap;
import org.openapijsonschematools.schemas.Int32JsonSchema;
import org.openapijsonschematools.schemas.JsonSchema;
import org.openapijsonschematools.schemas.validation.FrozenMap;
import org.openapijsonschematools.schemas.validation.JsonSchema;

public class Schema {
// nest classes so all schemas and input/output classes can be public
Expand All @@ -14,12 +14,24 @@ public class Schema {
public class AdditionalProperties extends Int32JsonSchema {}


public class Schema1 implements JsonSchema {
static final LinkedHashSet<Class<?>> type = new LinkedHashSet<>(Set.of(
public static class SchemaMap extends FrozenMap<String, Object> {
SchemaMap(FrozenMap<? extends String, ?> m) {
super(m);
}
public static SchemaMap of(Map<String, Object> arg, SchemaConfiguration configuration) {
return Schema1.validate(arg, configuration);
}
}

public class Schema1 extends JsonSchema {
public static final LinkedHashSet<Class<?>> type = new LinkedHashSet<>(Set.of(
FrozenMap.class
));
static final Class<?> additionalProperties = AdditionalProperties.class;
public static <T extends FrozenMap> T validate(Map<String, Object> arg, SchemaConfiguration configuration) {
protected static SchemaMap getMapOutputInstance(FrozenMap<? extends String, ?> arg) {
return new SchemaMap(arg);
}
public static SchemaMap validate(Map<String, Object> arg, SchemaConfiguration configuration) {
return JsonSchema.validate(Schema1.class, arg, configuration);
}
}
Expand Down
Loading