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

Java features updated #359

Merged
merged 2 commits into from
Jan 10, 2024
Merged
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
32 changes: 16 additions & 16 deletions docs/generators/java.md
Original file line number Diff line number Diff line change
@@ -177,7 +177,7 @@ These options may be applied as additional-properties (cli) or configOptions (pl
### Components Feature
| Name | Supported | Defined By |
| ---- | --------- | ---------- |
|schemas||OAS3
|schemas||OAS3
|responses|✗|OAS3
|parameters|✗|OAS3
|examples|✗|OAS3
@@ -194,22 +194,22 @@ These options may be applied as additional-properties (cli) or configOptions (pl
|Custom|✗|OAS2,OAS3
|Int32|✓|OAS2,OAS3
|Int64|✓|OAS2,OAS3
|Integer||OAS2,OAS3
|Integer||OAS2,OAS3
|Float|✓|OAS2,OAS3
|Double|✓|OAS2,OAS3
|Number|✗|OAS2,OAS3
|String|✓|OAS2,OAS3
|Byte||OAS2,OAS3
|Binary||OAS2,OAS3
|Byte||OAS2,OAS3
|Binary||OAS2,OAS3
|Boolean|✓|OAS2,OAS3
|Date|✓|OAS2,OAS3
|DateTime|✓|OAS2,OAS3
|Password||OAS2,OAS3
|File||OAS2
|Uuid||OAS2,OAS3
|Password||OAS2,OAS3
|File||OAS2
|Uuid||OAS2,OAS3
|Array|✓|OAS2,OAS3
|Null||OAS3
|AnyType||OAS2,OAS3
|Null||OAS3
|AnyType||OAS2,OAS3
|Object|✓|OAS2,OAS3
|Enum|✓|OAS2,OAS3

@@ -228,7 +228,7 @@ These options may be applied as additional-properties (cli) or configOptions (pl
|ComponentLinks|✗|OAS3
|ComponentCallbacks|✗|OAS3
|ComponentPathItems|✗|OAS3
|Api||ToolingExtension
|Api||ToolingExtension

### Global Feature
| Name | Supported | Defined By |
@@ -245,20 +245,20 @@ These options may be applied as additional-properties (cli) or configOptions (pl
### Operation Feature
| Name | Supported | Defined By |
| ---- | --------- | ---------- |
|Responses_HttpStatusCode||OAS3
|Responses_HttpStatusCode||OAS3
|Responses_RangedResponseCodes|✗|OAS3
|Responses_Default||OAS3
|Responses_Default||OAS3
|Responses_RedirectionResponse|✗|OAS3

### Parameter Feature
| Name | Supported | Defined By |
| ---- | --------- | ---------- |
|Name|✗|OAS2,OAS3
|Required|✗|OAS2,OAS3
|In_Path||OAS2,OAS3
|In_Query||OAS2,OAS3
|In_Header||OAS2,OAS3
|In_Cookie||OAS3
|In_Path||OAS2,OAS3
|In_Query||OAS2,OAS3
|In_Header||OAS2,OAS3
|In_Cookie||OAS3
|Style_Matrix|✗|OAS3
|Style_Label|✗|OAS3
|Style_Form|✗|OAS3
Original file line number Diff line number Diff line change
@@ -159,42 +159,28 @@ public class DefaultGenerator implements Generator {
static {
DefaultFeatureSet = FeatureSet.newBuilder()
.includeDataTypeFeatures(
DataTypeFeature.Int32, DataTypeFeature.Int64, DataTypeFeature.Float, DataTypeFeature.Double,
DataTypeFeature.String, DataTypeFeature.Byte, DataTypeFeature.Binary,
DataTypeFeature.Boolean, DataTypeFeature.Date, DataTypeFeature.DateTime, DataTypeFeature.Password,
DataTypeFeature.File, DataTypeFeature.Array, DataTypeFeature.Object, DataTypeFeature.Enum
// Custom types are template specific
DataTypeFeature.Int32, DataTypeFeature.Int64, DataTypeFeature.Integer, DataTypeFeature.Float, DataTypeFeature.Double,
DataTypeFeature.String,
DataTypeFeature.Boolean, DataTypeFeature.Date, DataTypeFeature.DateTime,
DataTypeFeature.Array, DataTypeFeature.Object, DataTypeFeature.Enum, DataTypeFeature.Uuid,
DataTypeFeature.Null, DataTypeFeature.AnyType
)
.includeDocumentationFeatures(
DocumentationFeature.Api, DocumentationFeature.ComponentSchemas
// README is template specific
)
.includeComponentsFeatures(
ComponentsFeature.schemas
)
.includeGlobalFeatures(
GlobalFeature.Info,
GlobalFeature.Components
GlobalFeature.Info
)
.includeSchemaFeatures(
SchemaFeature.Type, SchemaFeature.Format,
SchemaFeature.Items, SchemaFeature.Properties,
SchemaFeature.Required, SchemaFeature.AdditionalProperties,
SchemaFeature.Ref
)
.includeParameterFeatures(
ParameterFeature.In_Path, ParameterFeature.In_Query, ParameterFeature.In_Header,
ParameterFeature.In_Cookie
)
.includeOperationFeatures(
OperationFeature.Responses_Default, OperationFeature.Responses_HttpStatusCode
)
.includeSecurityFeatures(
SecurityFeature.ApiKey, SecurityFeature.HTTP_Basic, SecurityFeature.HTTP_Bearer,
SecurityFeature.OAuth2_Implicit, SecurityFeature.OAuth2_Password,
SecurityFeature.OAuth2_ClientCredentials, SecurityFeature.OAuth2_AuthorizationCode
// OpenIDConnect not yet supported
)
.includeParameterFeatures()
.includeOperationFeatures()
.includeSecurityFeatures()
.includeWireFormatFeatures(
WireFormatFeature.JSON
// PROTOBUF and Custom are generator specific
Original file line number Diff line number Diff line change
@@ -30,7 +30,9 @@
import org.openapijsonschematools.codegen.generators.generatormetadata.FeatureSet;
import org.openapijsonschematools.codegen.generators.generatormetadata.Stability;
import org.openapijsonschematools.codegen.generators.generatormetadata.features.ClientModificationFeature;
import org.openapijsonschematools.codegen.generators.generatormetadata.features.ComponentsFeature;
import org.openapijsonschematools.codegen.generators.generatormetadata.features.GlobalFeature;
import org.openapijsonschematools.codegen.generators.generatormetadata.features.OperationFeature;
import org.openapijsonschematools.codegen.generators.generatormetadata.features.SchemaFeature;
import org.openapijsonschematools.codegen.common.CodegenConstants;
import org.openapijsonschematools.codegen.generators.generatormetadata.GeneratorType;
@@ -241,13 +243,18 @@ public JavaClientGenerator() {
instantiationTypes.put("null", "Void (null)");

modifyFeatureSet(features -> features
.includeDocumentationFeatures(DocumentationFeature.Readme, DocumentationFeature.Servers)
.securityFeatures(EnumSet.noneOf(
SecurityFeature.class
))
.includeDocumentationFeatures(
DocumentationFeature.Readme,
DocumentationFeature.Servers,
DocumentationFeature.ComponentSchemas
)
.includeGlobalFeatures(
GlobalFeature.Components,
GlobalFeature.Servers
)
.includeComponentsFeatures(
ComponentsFeature.schemas
)
.includeSchemaFeatures(
SchemaFeature.AdditionalProperties,
SchemaFeature.AllOf,
Original file line number Diff line number Diff line change
@@ -246,15 +246,11 @@ public PythonClientGenerator() {
DocumentationFeature.ComponentSecuritySchemes,
DocumentationFeature.Api
)
.wireFormatFeatures(EnumSet.of(WireFormatFeature.JSON, WireFormatFeature.Custom))
.securityFeatures(EnumSet.of(
.includeWireFormatFeatures(WireFormatFeature.JSON, WireFormatFeature.Custom)
.includeSecurityFeatures(
SecurityFeature.ApiKey,
SecurityFeature.HTTP_Basic,
SecurityFeature.HTTP_Bearer
))
.excludeSecurityFeatures(
SecurityFeature.OAuth2_Implicit, SecurityFeature.OAuth2_Password,
SecurityFeature.OAuth2_ClientCredentials, SecurityFeature.OAuth2_AuthorizationCode
)
.includeGlobalFeatures(
GlobalFeature.Info,
@@ -289,12 +285,11 @@ public PythonClientGenerator() {
ParameterFeature.Content
)
.includeOperationFeatures(
OperationFeature.Responses_Default,
OperationFeature.Responses_HttpStatusCode,
OperationFeature.Responses_RangedResponseCodes,
OperationFeature.Responses_RedirectionResponse
)
.excludeParameterFeatures(
ParameterFeature.In_Cookie
)
);

modelPackage = "components.schema";