diff --git a/docs/generators/java.md b/docs/generators/java.md
index 08d9f1ef3aa..37fd2bc694a 100644
--- a/docs/generators/java.md
+++ b/docs/generators/java.md
@@ -320,7 +320,7 @@ These options may be applied as additional-properties (cli) or configOptions (pl
### Schema Feature
| Name | Supported | Defined By |
| ---- | --------- | ---------- |
-|AdditionalProperties|✗|OAS2,OAS3
+|AdditionalProperties|✓|OAS2,OAS3
|AllOf|✓|OAS2,OAS3
|AnyOf|✓|OAS3
|Const|✗|OAS3
@@ -328,9 +328,9 @@ These options may be applied as additional-properties (cli) or configOptions (pl
|Default|✗|OAS2,OAS3
|DependentRequired|✗|OAS3
|DependentSchemas|✗|OAS3
-|Discriminator|✓|OAS2,OAS3
+|Discriminator|✗|OAS2,OAS3
|Else|✗|OAS3
-|Enum|✓|OAS2,OAS3
+|Enum|✗|OAS2,OAS3
|ExclusiveMinimum|✓|OAS2,OAS3
|ExclusiveMaximum|✓|OAS2,OAS3
|Format|✓|OAS2,OAS3
@@ -348,9 +348,9 @@ These options may be applied as additional-properties (cli) or configOptions (pl
|Minimum|✓|OAS2,OAS3
|MultipleOf|✓|OAS2,OAS3
|Not|✓|OAS3
-|Nullable|✗|OAS3
+|Nullable|✓|OAS3
|OneOf|✓|OAS3
-|Pattern|✓|OAS2,OAS3
+|Pattern|✗|OAS2,OAS3
|PatternProperties|✗|OAS3
|PrefixItems|✗|OAS3
|Properties|✓|OAS2,OAS3
diff --git a/docs/generators/jaxrs-jersey.md b/docs/generators/jaxrs-jersey.md
deleted file mode 100644
index c8b84f80026..00000000000
--- a/docs/generators/jaxrs-jersey.md
+++ /dev/null
@@ -1,367 +0,0 @@
----
-title: Documentation for the jaxrs-jersey generator
----
-
-## METADATA
-
-| Property | Value | Notes |
-| -------- | ----- | ----- |
-| generator name | jaxrs-jersey | pass this to the generate command after -g |
-| generator stability | STABLE | |
-| generator type | SERVER | |
-| generator language | Java | |
-| generator default templating engine | mustache | |
-| helpTxt | Generates a Java JAXRS Server application based on Jersey framework. | |
-
-## CONFIG OPTIONS
-These options may be applied as additional-properties (cli) or configOptions (plugins). Refer to [configuration docs](https://openapi-generator.tech/docs/configuration) for more details.
-
-| Option | Description | Values | Default |
-| ------ | ----------- | ------ | ------- |
-|additionalEnumTypeAnnotations|Additional annotations for enum type(class level annotations)| |null|
-|additionalModelTypeAnnotations|Additional annotations for model type(class level annotations). List separated by semicolon(;) or new line (Linux or Windows)| |null|
-|allowUnicodeIdentifiers|boolean, toggles whether unicode identifiers are allowed in names or not, default is false| |false|
-|apiPackage|package for generated api classes| |org.openapijsonschematools.api|
-|artifactDescription|artifact description in generated pom.xml| |OpenAPI Java|
-|artifactId|artifactId in generated pom.xml. This also becomes part of the generated library's filename| |openapi-jaxrs-server|
-|artifactUrl|artifact URL in generated pom.xml| |https://github.com/openapi-json-schema-tools/openapi-json-schema-generator|
-|artifactVersion|artifact version in generated pom.xml. This also becomes part of the generated library's filename| |1.0.0|
-|bigDecimalAsString|Treat BigDecimal values as Strings to avoid precision loss.| |false|
-|booleanGetterPrefix|Set booleanGetterPrefix| |get|
-|dateLibrary|Option. Date library to use|
- **joda**
- Joda (for legacy app only)
- **legacy**
- Legacy java.util.Date
- **java8-localdatetime**
- Java 8 using LocalDateTime (for legacy app only)
- **java8**
- Java 8 native JSR310 (preferred for jdk 1.8+)
|legacy|
-|developerEmail|developer email in generated pom.xml| |team@openapijsonschematools.org|
-|developerName|developer name in generated pom.xml| |OpenAPI-Generator Contributors|
-|developerOrganization|developer organization in generated pom.xml| |OpenAPITools.org|
-|developerOrganizationUrl|developer organization URL in generated pom.xml| |http://openapijsonschematools.org|
-|disableHtmlEscaping|Disable HTML escaping of JSON strings when using gson (needed to avoid problems with byte[] fields)| |false|
-|disallowAdditionalPropertiesIfNotPresent|If false, the 'additionalProperties' implementation (set to true by default) is compliant with the OAS and JSON schema specifications. If true (default), keep the old (incorrect) behaviour that 'additionalProperties' is set to false by default.|- **false**
- The 'additionalProperties' implementation is compliant with the OAS and JSON schema specifications.
- **true**
- Keep the old (incorrect) behaviour that 'additionalProperties' is set to false by default.
|true|
-|discriminatorCaseSensitive|Whether the discriminator value lookup should be case-sensitive or not. This option only works for Java API client| |true|
-|ensureUniqueParams|Whether to ensure parameter names are unique in an operation (rename parameters that are not).| |true|
-|enumUnknownDefaultCase|If the server adds new enum cases, that are unknown by an old spec/client, the client will fail to parse the network response.With this option enabled, each enum will have a new case, 'unknown_default_open_api', so that when the server sends an enum case that is not known by the client/spec, they can safely fallback to this case.|- **false**
- No changes to the enum's are made, this is the default option.
- **true**
- With this option enabled, each enum will have a new case, 'unknown_default_open_api', so that when the enum case sent by the server is not known by the client/spec, can safely be decoded to this case.
|false|
-|fullJavaUtil|whether to use fully qualified name for classes under java.util. This option only works for Java API client| |false|
-|groupId|groupId in generated pom.xml| |org.openapijsonschematools|
-|hideGenerationTimestamp|Hides the generation timestamp when files are generated.| |false|
-|ignoreAnyOfInEnum|Ignore anyOf keyword in enum| |false|
-|implFolder|folder for generated implementation code| |src/main/java|
-|implicitHeaders|Skip header parameters in the generated API methods using @ApiImplicitParams annotation.| |false|
-|implicitHeadersRegex|Skip header parameters that matches given regex in the generated API methods using @ApiImplicitParams annotation. Note: this parameter is ignored when implicitHeaders=true| |null|
-|invokerPackage|root package for generated code| |org.openapijsonschematools.api|
-|legacyDiscriminatorBehavior|Set to false for generators with better support for discriminators. (Python, Java, Go, PowerShell, C#have this enabled by default).|- **true**
- The mapping in the discriminator includes descendant schemas that allOf inherit from self and the discriminator mapping schemas in the OAS document.
- **false**
- The mapping in the discriminator includes any descendant schemas that allOf inherit from self, any oneOf schemas, any anyOf schemas, any x-discriminator-values, and the discriminator mapping schemas in the OAS document AND Codegen validates that oneOf and anyOf schemas contain the required discriminator and throws an error if the discriminator is missing.
|true|
-|library|library template (sub-template)|- **jersey1**
- Jersey core 1.x
- **jersey2**
- Jersey core 2.x
|jersey2|
-|licenseName|The name of the license| |Unlicense|
-|licenseUrl|The URL of the license| |http://unlicense.org|
-|modelPackage|package for generated models| |org.openapijsonschematools.model|
-|openApiNullable|Enable OpenAPI Jackson Nullable library| |true|
-|parentArtifactId|parent artifactId in generated pom N.B. parentGroupId, parentArtifactId and parentVersion must all be specified for any of them to take effect| |null|
-|parentGroupId|parent groupId in generated pom N.B. parentGroupId, parentArtifactId and parentVersion must all be specified for any of them to take effect| |null|
-|parentVersion|parent version in generated pom N.B. parentGroupId, parentArtifactId and parentVersion must all be specified for any of them to take effect| |null|
-|prependFormOrBodyParameters|Add form or body parameters to the beginning of the parameter list.| |false|
-|scmConnection|SCM connection in generated pom.xml| |scm:git:git@github.com:openapi-json-schema-tools/openapi-json-schema-generator.git|
-|scmDeveloperConnection|SCM developer connection in generated pom.xml| |scm:git:git@github.com:openapi-json-schema-tools/openapi-json-schema-generator.git|
-|scmUrl|SCM URL in generated pom.xml| |https://github.com/openapi-json-schema-tools/openapi-json-schema-generator|
-|serializableModel|boolean - toggle "implements Serializable" for generated models| |false|
-|serverPort|The port on which the server should be started| |8080|
-|snapshotVersion|Uses a SNAPSHOT version.|- **true**
- Use a SnapShot Version
- **false**
- Use a Release Version
|null|
-|sortModelPropertiesByRequiredFlag|Sort model properties to place required parameters before optional parameters.| |true|
-|sortParamsByRequiredFlag|Sort method arguments to place required parameters before optional parameters.| |true|
-|sourceFolder|source folder for generated code| |src/gen/java|
-|supportJava6|Whether to support Java6 with the Jersey1/2 library.| |false|
-|testOutput|Set output folder for models and APIs tests| |${project.build.directory}/generated-test-sources/openapi|
-|title|a title describing the application| |OpenAPI Server|
-|useBeanValidation|Use BeanValidation API annotations| |true|
-|useTags|use tags for creating interface and controller classnames| |false|
-|withXml|whether to include support for application/xml content type and include XML annotations in the model (works with libraries that provide support for JSON and XML)| |false|
-
-## SUPPORTED VENDOR EXTENSIONS
-
-| Extension name | Description | Applicable for | Default value |
-| -------------- | ----------- | -------------- | ------------- |
-|x-discriminator-value|Used with model inheritance to specify value for discriminator that identifies current model|MODEL|
-|x-implements|Ability to specify interfaces that model must implements|MODEL|empty array
-|x-setter-extra-annotation|Custom annotation that can be specified over java setter for specific field|FIELD|When field is array & uniqueItems, then this extension is used to add `@JsonDeserialize(as = LinkedHashSet.class)` over setter, otherwise no value
-|x-tags|Specify multiple swagger tags for operation|OPERATION|null
-|x-accepts|Specify custom value for 'Accept' header for operation|OPERATION|null
-|x-content-type|Specify custom value for 'Content-Type' header for operation|OPERATION|null
-|x-class-extra-annotation|List of custom annotations to be added to model|MODEL|null
-|x-field-extra-annotation|List of custom annotations to be added to property|FIELD|null
-
-
-## INSTANTIATION TYPES
-
-| Type/Alias | Instantiated By |
-| ---------- | --------------- |
-|array|ArrayList|
-|map|HashMap|
-|set|LinkedHashSet|
-
-
-## LANGUAGE PRIMITIVES
-
-
-- Boolean
-- Double
-- Float
-- Integer
-- Long
-- Object
-- String
-- boolean
-- byte[]
-
-
-## RESERVED WORDS
-
-
-- abstract
-- apiclient
-- apiexception
-- apiresponse
-- assert
-- boolean
-- break
-- byte
-- case
-- catch
-- char
-- class
-- configuration
-- const
-- continue
-- default
-- do
-- double
-- else
-- enum
-- extends
-- final
-- finally
-- float
-- for
-- goto
-- if
-- implements
-- import
-- instanceof
-- int
-- integer
-- interface
-- linkedhashset
-- list
-- localdate
-- localreturntype
-- localvaraccept
-- localvaraccepts
-- localvarauthnames
-- localvarcollectionqueryparams
-- localvarcontenttype
-- localvarcontenttypes
-- localvarcookieparams
-- localvarformparams
-- localvarheaderparams
-- localvarpath
-- localvarpostbody
-- localvarqueryparams
-- long
-- map
-- native
-- new
-- null
-- number
-- package
-- private
-- protected
-- public
-- return
-- short
-- static
-- strictfp
-- string
-- stringutil
-- super
-- switch
-- synchronized
-- this
-- throw
-- throws
-- transient
-- try
-- uuid
-- void
-- volatile
-- while
-- zoneddatetime
-
-
-## FEATURE SET
-
-
-### Client Modification Feature
-| Name | Supported | Defined By |
-| ---- | --------- | ---------- |
-|BasePath|✓|ToolingExtension
-|Authorizations|✗|ToolingExtension
-|UserAgent|✗|ToolingExtension
-|MockServer|✗|ToolingExtension
-
-### Components Feature
-| Name | Supported | Defined By |
-| ---- | --------- | ---------- |
-|schemas|✗|OAS3
-|responses|✗|OAS3
-|parameters|✗|OAS3
-|examples|✗|OAS3
-|requestBodies|✗|OAS3
-|headers|✗|OAS3
-|securitySchemes|✗|OAS3
-|links|✗|OAS3
-|callbacks|✗|OAS3
-|pathItems|✗|OAS3
-
-### Data Type Feature
-| Name | Supported | Defined By |
-| ---- | --------- | ---------- |
-|Custom|✗|OAS2,OAS3
-|Int32|✓|OAS2,OAS3
-|Int64|✓|OAS2,OAS3
-|Integer|✗|OAS2,OAS3
-|Float|✓|OAS2,OAS3
-|Double|✓|OAS2,OAS3
-|Number|✗|OAS2,OAS3
-|String|✓|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
-|Array|✓|OAS2,OAS3
-|Null|✗|OAS3
-|AnyType|✗|OAS2,OAS3
-|Object|✓|OAS2,OAS3
-|Enum|✓|OAS2,OAS3
-
-### Documentation Feature
-| Name | Supported | Defined By |
-| ---- | --------- | ---------- |
-|Readme|✓|ToolingExtension
-|Servers|✗|OAS3
-|Security|✗|OAS2,OAS3
-|ComponentSchemas|✓|OAS3
-|ComponentResponses|✗|OAS3
-|ComponentParameters|✗|OAS3
-|ComponentRequestBodies|✗|OAS3
-|ComponentHeaders|✗|OAS3
-|ComponentSecuritySchemes|✗|OAS3
-|ComponentLinks|✗|OAS3
-|ComponentCallbacks|✗|OAS3
-|ComponentPathItems|✗|OAS3
-|Api|✓|ToolingExtension
-
-### Global Feature
-| Name | Supported | Defined By |
-| ---- | --------- | ---------- |
-|Info|✓|OAS2,OAS3
-|Servers|✗|OAS3
-|Paths|✗|OAS2,OAS3
-|Webhooks|✗|OAS3
-|Components|✓|OAS3
-|Security|✗|OAS2,OAS3
-|Tags|✗|OAS2,OAS3
-|ExternalDocs|✗|OAS2,OAS3
-
-### Operation Feature
-| Name | Supported | Defined By |
-| ---- | --------- | ---------- |
-|Responses_HttpStatusCode|✓|OAS3
-|Responses_RangedResponseCodes|✗|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
-|Style_Matrix|✗|OAS3
-|Style_Label|✗|OAS3
-|Style_Form|✗|OAS3
-|Style_Simple|✗|OAS3
-|Style_SpaceDelimited|✗|OAS3
-|Style_PipeDelimited|✗|OAS3
-|Style_DeepObject|✗|OAS3
-|Explode|✗|OAS3
-|Schema|✗|OAS3
-|Content|✗|OAS3
-
-### Schema Feature
-| Name | Supported | Defined By |
-| ---- | --------- | ---------- |
-|AdditionalProperties|✗|OAS2,OAS3
-|AllOf|✗|OAS2,OAS3
-|AnyOf|✗|OAS3
-|Const|✗|OAS3
-|Contains|✗|OAS3
-|Default|✗|OAS2,OAS3
-|DependentRequired|✗|OAS3
-|DependentSchemas|✗|OAS3
-|Discriminator|✓|OAS2,OAS3
-|Else|✗|OAS3
-|Enum|✓|OAS2,OAS3
-|ExclusiveMinimum|✓|OAS2,OAS3
-|ExclusiveMaximum|✓|OAS2,OAS3
-|Format|✓|OAS2,OAS3
-|If|✗|OAS3
-|Items|✓|OAS2,OAS3
-|MaxContains|✗|OAS3
-|MaxItems|✓|OAS2,OAS3
-|MaxLength|✓|OAS2,OAS3
-|MaxProperties|✓|OAS2,OAS3
-|Maximum|✓|OAS2,OAS3
-|MinContains|✗|OAS3
-|MinItems|✓|OAS2,OAS3
-|MinLength|✓|OAS2,OAS3
-|MinProperties|✓|OAS2,OAS3
-|Minimum|✓|OAS2,OAS3
-|MultipleOf|✓|OAS2,OAS3
-|Not|✗|OAS3
-|Nullable|✗|OAS3
-|OneOf|✗|OAS3
-|Pattern|✓|OAS2,OAS3
-|PatternProperties|✗|OAS3
-|PrefixItems|✗|OAS3
-|Properties|✓|OAS2,OAS3
-|PropertyNames|✗|OAS3
-|Ref|✗|OAS2,OAS3
-|Required|✓|OAS2,OAS3
-|Then|✗|OAS3
-|Type|✓|OAS2,OAS3
-|UnevaluatedItems|✗|OAS3
-|UnevaluatedProperties|✗|OAS3
-|UniqueItems|✓|OAS2,OAS3
-|Xml|✗|OAS2,OAS3
-
-### Security Feature
-| Name | Supported | Defined By |
-| ---- | --------- | ---------- |
-|HTTP_Basic|✗|OAS2,OAS3
-|ApiKey|✗|OAS2,OAS3
-|OpenIDConnect|✗|OAS3
-|HTTP_Bearer|✗|OAS2,OAS3
-|OAuth2_Implicit|✗|OAS2,OAS3
-|OAuth2_Password|✗|OAS2,OAS3
-|OAuth2_ClientCredentials|✗|OAS2,OAS3
-|OAuth2_AuthorizationCode|✗|OAS2,OAS3
-
-### Wire Format Feature
-| Name | Supported | Defined By |
-| ---- | --------- | ---------- |
-|JSON|✓|OAS2,OAS3
-|XML|✓|OAS2,OAS3
-|PROTOBUF|✗|ToolingExtension
-|Custom|✗|OAS2,OAS3
diff --git a/docs/generators/jmeter.md b/docs/generators/jmeter.md
deleted file mode 100644
index 6f4d35709ba..00000000000
--- a/docs/generators/jmeter.md
+++ /dev/null
@@ -1,220 +0,0 @@
----
-title: Documentation for the jmeter generator
----
-
-## METADATA
-
-| Property | Value | Notes |
-| -------- | ----- | ----- |
-| generator name | jmeter | pass this to the generate command after -g |
-| generator stability | STABLE | |
-| generator type | CLIENT | |
-| generator language | Java | |
-| generator default templating engine | mustache | |
-| helpTxt | Generates a JMeter .jmx file. | |
-
-## CONFIG OPTIONS
-These options may be applied as additional-properties (cli) or configOptions (plugins). Refer to [configuration docs](https://openapi-generator.tech/docs/configuration) for more details.
-
-| Option | Description | Values | Default |
-| ------ | ----------- | ------ | ------- |
-|allowUnicodeIdentifiers|boolean, toggles whether unicode identifiers are allowed in names or not, default is false| |false|
-|disallowAdditionalPropertiesIfNotPresent|If false, the 'additionalProperties' implementation (set to true by default) is compliant with the OAS and JSON schema specifications. If true (default), keep the old (incorrect) behaviour that 'additionalProperties' is set to false by default.|- **false**
- The 'additionalProperties' implementation is compliant with the OAS and JSON schema specifications.
- **true**
- Keep the old (incorrect) behaviour that 'additionalProperties' is set to false by default.
|true|
-|ensureUniqueParams|Whether to ensure parameter names are unique in an operation (rename parameters that are not).| |true|
-|enumUnknownDefaultCase|If the server adds new enum cases, that are unknown by an old spec/client, the client will fail to parse the network response.With this option enabled, each enum will have a new case, 'unknown_default_open_api', so that when the server sends an enum case that is not known by the client/spec, they can safely fallback to this case.|- **false**
- No changes to the enum's are made, this is the default option.
- **true**
- With this option enabled, each enum will have a new case, 'unknown_default_open_api', so that when the enum case sent by the server is not known by the client/spec, can safely be decoded to this case.
|false|
-|legacyDiscriminatorBehavior|Set to false for generators with better support for discriminators. (Python, Java, Go, PowerShell, C#have this enabled by default).|- **true**
- The mapping in the discriminator includes descendant schemas that allOf inherit from self and the discriminator mapping schemas in the OAS document.
- **false**
- The mapping in the discriminator includes any descendant schemas that allOf inherit from self, any oneOf schemas, any anyOf schemas, any x-discriminator-values, and the discriminator mapping schemas in the OAS document AND Codegen validates that oneOf and anyOf schemas contain the required discriminator and throws an error if the discriminator is missing.
|true|
-|prependFormOrBodyParameters|Add form or body parameters to the beginning of the parameter list.| |false|
-|sortModelPropertiesByRequiredFlag|Sort model properties to place required parameters before optional parameters.| |true|
-|sortParamsByRequiredFlag|Sort method arguments to place required parameters before optional parameters.| |true|
-
-## INSTANTIATION TYPES
-
-| Type/Alias | Instantiated By |
-| ---------- | --------------- |
-
-
-## LANGUAGE PRIMITIVES
-
-
-
-## RESERVED WORDS
-
-
-
-## FEATURE SET
-
-
-### Client Modification Feature
-| Name | Supported | Defined By |
-| ---- | --------- | ---------- |
-|BasePath|✓|ToolingExtension
-|Authorizations|✗|ToolingExtension
-|UserAgent|✗|ToolingExtension
-|MockServer|✗|ToolingExtension
-
-### Components Feature
-| Name | Supported | Defined By |
-| ---- | --------- | ---------- |
-|schemas|✗|OAS3
-|responses|✗|OAS3
-|parameters|✗|OAS3
-|examples|✗|OAS3
-|requestBodies|✗|OAS3
-|headers|✗|OAS3
-|securitySchemes|✗|OAS3
-|links|✗|OAS3
-|callbacks|✗|OAS3
-|pathItems|✗|OAS3
-
-### Data Type Feature
-| Name | Supported | Defined By |
-| ---- | --------- | ---------- |
-|Custom|✗|OAS2,OAS3
-|Int32|✓|OAS2,OAS3
-|Int64|✓|OAS2,OAS3
-|Integer|✗|OAS2,OAS3
-|Float|✓|OAS2,OAS3
-|Double|✓|OAS2,OAS3
-|Number|✗|OAS2,OAS3
-|String|✓|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
-|Array|✓|OAS2,OAS3
-|Null|✗|OAS3
-|AnyType|✗|OAS2,OAS3
-|Object|✓|OAS2,OAS3
-|Enum|✓|OAS2,OAS3
-
-### Documentation Feature
-| Name | Supported | Defined By |
-| ---- | --------- | ---------- |
-|Readme|✗|ToolingExtension
-|Servers|✗|OAS3
-|Security|✗|OAS2,OAS3
-|ComponentSchemas|✓|OAS3
-|ComponentResponses|✗|OAS3
-|ComponentParameters|✗|OAS3
-|ComponentRequestBodies|✗|OAS3
-|ComponentHeaders|✗|OAS3
-|ComponentSecuritySchemes|✗|OAS3
-|ComponentLinks|✗|OAS3
-|ComponentCallbacks|✗|OAS3
-|ComponentPathItems|✗|OAS3
-|Api|✓|ToolingExtension
-
-### Global Feature
-| Name | Supported | Defined By |
-| ---- | --------- | ---------- |
-|Info|✓|OAS2,OAS3
-|Servers|✗|OAS3
-|Paths|✗|OAS2,OAS3
-|Webhooks|✗|OAS3
-|Components|✓|OAS3
-|Security|✗|OAS2,OAS3
-|Tags|✗|OAS2,OAS3
-|ExternalDocs|✗|OAS2,OAS3
-
-### Operation Feature
-| Name | Supported | Defined By |
-| ---- | --------- | ---------- |
-|Responses_HttpStatusCode|✓|OAS3
-|Responses_RangedResponseCodes|✗|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
-|Style_Matrix|✗|OAS3
-|Style_Label|✗|OAS3
-|Style_Form|✗|OAS3
-|Style_Simple|✗|OAS3
-|Style_SpaceDelimited|✗|OAS3
-|Style_PipeDelimited|✗|OAS3
-|Style_DeepObject|✗|OAS3
-|Explode|✗|OAS3
-|Schema|✗|OAS3
-|Content|✗|OAS3
-
-### Schema Feature
-| Name | Supported | Defined By |
-| ---- | --------- | ---------- |
-|AdditionalProperties|✗|OAS2,OAS3
-|AllOf|✗|OAS2,OAS3
-|AnyOf|✗|OAS3
-|Const|✗|OAS3
-|Contains|✗|OAS3
-|Default|✗|OAS2,OAS3
-|DependentRequired|✗|OAS3
-|DependentSchemas|✗|OAS3
-|Discriminator|✓|OAS2,OAS3
-|Else|✗|OAS3
-|Enum|✓|OAS2,OAS3
-|ExclusiveMinimum|✓|OAS2,OAS3
-|ExclusiveMaximum|✓|OAS2,OAS3
-|Format|✓|OAS2,OAS3
-|If|✗|OAS3
-|Items|✓|OAS2,OAS3
-|MaxContains|✗|OAS3
-|MaxItems|✓|OAS2,OAS3
-|MaxLength|✓|OAS2,OAS3
-|MaxProperties|✓|OAS2,OAS3
-|Maximum|✓|OAS2,OAS3
-|MinContains|✗|OAS3
-|MinItems|✓|OAS2,OAS3
-|MinLength|✓|OAS2,OAS3
-|MinProperties|✓|OAS2,OAS3
-|Minimum|✓|OAS2,OAS3
-|MultipleOf|✓|OAS2,OAS3
-|Not|✗|OAS3
-|Nullable|✗|OAS3
-|OneOf|✗|OAS3
-|Pattern|✓|OAS2,OAS3
-|PatternProperties|✗|OAS3
-|PrefixItems|✗|OAS3
-|Properties|✓|OAS2,OAS3
-|PropertyNames|✗|OAS3
-|Ref|✗|OAS2,OAS3
-|Required|✓|OAS2,OAS3
-|Then|✗|OAS3
-|Type|✓|OAS2,OAS3
-|UnevaluatedItems|✗|OAS3
-|UnevaluatedProperties|✗|OAS3
-|UniqueItems|✓|OAS2,OAS3
-|Xml|✗|OAS2,OAS3
-
-### Security Feature
-| Name | Supported | Defined By |
-| ---- | --------- | ---------- |
-|HTTP_Basic|✓|OAS2,OAS3
-|ApiKey|✓|OAS2,OAS3
-|OpenIDConnect|✗|OAS3
-|HTTP_Bearer|✗|OAS2,OAS3
-|OAuth2_Implicit|✓|OAS2,OAS3
-|OAuth2_Password|✗|OAS2,OAS3
-|OAuth2_ClientCredentials|✗|OAS2,OAS3
-|OAuth2_AuthorizationCode|✗|OAS2,OAS3
-
-### Wire Format Feature
-| Name | Supported | Defined By |
-| ---- | --------- | ---------- |
-|JSON|✓|OAS2,OAS3
-|XML|✓|OAS2,OAS3
-|PROTOBUF|✗|ToolingExtension
-|Custom|✗|OAS2,OAS3
diff --git a/docs/generators/kotlin.md b/docs/generators/kotlin.md
deleted file mode 100644
index ae0cfb7cddb..00000000000
--- a/docs/generators/kotlin.md
+++ /dev/null
@@ -1,330 +0,0 @@
----
-title: Documentation for the kotlin generator
----
-
-## METADATA
-
-| Property | Value | Notes |
-| -------- | ----- | ----- |
-| generator name | kotlin | pass this to the generate command after -g |
-| generator stability | STABLE | |
-| generator type | CLIENT | |
-| generator language | Kotlin | |
-| generator default templating engine | mustache | |
-| helpTxt | Generates a Kotlin client. | |
-
-## CONFIG OPTIONS
-These options may be applied as additional-properties (cli) or configOptions (plugins). Refer to [configuration docs](https://openapi-generator.tech/docs/configuration) for more details.
-
-| Option | Description | Values | Default |
-| ------ | ----------- | ------ | ------- |
-|apiSuffix|suffix for api classes| |Api|
-|artifactId|Generated artifact id (name of jar).| |kotlin-client|
-|artifactVersion|Generated artifact's package version.| |1.0.0|
-|collectionType|Option. Collection type to use|- **array**
- kotlin.Array
- **list**
- kotlin.collections.List
|list|
-|dateLibrary|Option. Date library to use|- **threetenbp-localdatetime**
- Threetenbp - Backport of JSR310 (jvm only, for legacy app only)
- **string**
- String
- **java8-localdatetime**
- Java 8 native JSR310 (jvm only, for legacy app only)
- **java8**
- Java 8 native JSR310 (jvm only, preferred for jdk 1.8+)
- **threetenbp**
- Threetenbp - Backport of JSR310 (jvm only, preferred for jdk < 1.8)
|java8|
-|enumPropertyNaming|Naming convention for enum properties: 'camelCase', 'PascalCase', 'snake_case', 'UPPERCASE', and 'original'| |camelCase|
-|generateRoomModels|Generate Android Room database models in addition to API models (JVM Volley library only)| |false|
-|groupId|Generated artifact package's organization (i.e. maven groupId).| |org.openapijsonschematools|
-|idea|Add IntellJ Idea plugin and mark Kotlin main and test folders as source folders.| |false|
-|library|Library template (sub-template) to use|- **jvm-ktor**
- Platform: Java Virtual Machine. HTTP client: Ktor 1.6.7. JSON processing: Gson, Jackson (default).
- **jvm-okhttp4**
- [DEFAULT] Platform: Java Virtual Machine. HTTP client: OkHttp 4.2.0 (Android 5.0+ and Java 8+). JSON processing: Moshi 1.8.0.
- **jvm-okhttp3**
- Platform: Java Virtual Machine. HTTP client: OkHttp 3.12.4 (Android 2.3+ and Java 7+). JSON processing: Moshi 1.8.0.
- **jvm-retrofit2**
- Platform: Java Virtual Machine. HTTP client: Retrofit 2.6.2.
- **multiplatform**
- Platform: Kotlin multiplatform. HTTP client: Ktor 1.6.7. JSON processing: Kotlinx Serialization: 1.2.1.
- **jvm-volley**
- Platform: JVM for Android. HTTP client: Volley 1.2.1. JSON processing: gson 2.8.9
|jvm-okhttp4|
-|modelMutable|Create mutable models| |false|
-|moshiCodeGen|Whether to enable codegen with the Moshi library. Refer to the [official Moshi doc](https://github.com/square/moshi#codegen) for more info.| |false|
-|omitGradlePluginVersions|Whether to declare Gradle plugin versions in build files.| |false|
-|omitGradleWrapper|Whether to omit Gradle wrapper for creating a sub project.| |false|
-|packageName|Generated artifact package name.| |org.openapijsonschematools.client|
-|parcelizeModels|toggle "@Parcelize" for generated models| |null|
-|requestDateConverter|JVM-Option. Defines in how to handle date-time objects that are used for a request (as query or parameter)|- **toJson**
- [DEFAULT] Date formatter option using a json converter.
- **toString**
- Use the 'toString'-method of the date-time object to retrieve the related string representation.
|toJson|
-|serializableModel|boolean - toggle "implements Serializable" for generated models| |null|
-|serializationLibrary|What serialization library to use: 'moshi' (default), or 'gson' or 'jackson'| |moshi|
-|sortModelPropertiesByRequiredFlag|Sort model properties to place required parameters before optional parameters.| |null|
-|sortParamsByRequiredFlag|Sort method arguments to place required parameters before optional parameters.| |null|
-|sourceFolder|source folder for generated code| |src/main/kotlin|
-|supportAndroidApiLevel25AndBelow|[WARNING] This flag will generate code that has a known security vulnerability. It uses `kotlin.io.createTempFile` instead of `java.nio.file.Files.createTempFile` in order to support Android API level 25 and bellow. For more info, please check the following links https://github.com/OpenAPITools/openapi-generator/security/advisories/GHSA-23x4-m842-fmwf, https://github.com/OpenAPITools/openapi-generator/pull/9284| |false|
-|useCoroutines|Whether to use the Coroutines adapter with the retrofit2 library.| |false|
-|useRxJava|Whether to use the RxJava adapter with the retrofit2 library. IMPORTANT: this option has been deprecated. Please use `useRxJava3` instead.| |false|
-|useRxJava2|Whether to use the RxJava2 adapter with the retrofit2 library. IMPORTANT: this option has been deprecated. Please use `useRxJava3` instead.| |false|
-|useRxJava3|Whether to use the RxJava3 adapter with the retrofit2 library.| |false|
-
-## INSTANTIATION TYPES
-
-| Type/Alias | Instantiated By |
-| ---------- | --------------- |
-|array|kotlin.collections.ArrayList|
-|list|kotlin.collections.ArrayList|
-|map|kotlin.collections.HashMap|
-
-
-## LANGUAGE PRIMITIVES
-
-
-- kotlin.Array
-- kotlin.Boolean
-- kotlin.Byte
-- kotlin.ByteArray
-- kotlin.Char
-- kotlin.Double
-- kotlin.Float
-- kotlin.Int
-- kotlin.Long
-- kotlin.Short
-- kotlin.String
-- kotlin.collections.List
-- kotlin.collections.Map
-- kotlin.collections.MutableList
-- kotlin.collections.MutableMap
-- kotlin.collections.MutableSet
-- kotlin.collections.Set
-
-
-## RESERVED WORDS
-
-
-- ApiResponse
-- abstract
-- actual
-- annotation
-- as
-- break
-- class
-- companion
-- const
-- constructor
-- continue
-- contract
-- crossinline
-- data
-- delegate
-- do
-- dynamic
-- else
-- enum
-- expect
-- external
-- false
-- field
-- final
-- finally
-- for
-- fun
-- if
-- import
-- in
-- infix
-- init
-- inline
-- inner
-- interface
-- internal
-- is
-- it
-- lateinit
-- noinline
-- null
-- object
-- open
-- operator
-- out
-- override
-- package
-- param
-- private
-- property
-- protected
-- public
-- receiver
-- reified
-- return
-- sealed
-- setparam
-- super
-- suspend
-- tailrec
-- this
-- throw
-- true
-- try
-- typealias
-- typeof
-- val
-- value
-- var
-- vararg
-- when
-- where
-- while
-
-
-## FEATURE SET
-
-
-### Client Modification Feature
-| Name | Supported | Defined By |
-| ---- | --------- | ---------- |
-|BasePath|✓|ToolingExtension
-|Authorizations|✗|ToolingExtension
-|UserAgent|✗|ToolingExtension
-|MockServer|✗|ToolingExtension
-
-### Components Feature
-| Name | Supported | Defined By |
-| ---- | --------- | ---------- |
-|schemas|✗|OAS3
-|responses|✗|OAS3
-|parameters|✗|OAS3
-|examples|✗|OAS3
-|requestBodies|✗|OAS3
-|headers|✗|OAS3
-|securitySchemes|✗|OAS3
-|links|✗|OAS3
-|callbacks|✗|OAS3
-|pathItems|✗|OAS3
-
-### Data Type Feature
-| Name | Supported | Defined By |
-| ---- | --------- | ---------- |
-|Custom|✗|OAS2,OAS3
-|Int32|✓|OAS2,OAS3
-|Int64|✓|OAS2,OAS3
-|Integer|✗|OAS2,OAS3
-|Float|✓|OAS2,OAS3
-|Double|✓|OAS2,OAS3
-|Number|✗|OAS2,OAS3
-|String|✓|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
-|Array|✓|OAS2,OAS3
-|Null|✗|OAS3
-|AnyType|✗|OAS2,OAS3
-|Object|✓|OAS2,OAS3
-|Enum|✓|OAS2,OAS3
-
-### Documentation Feature
-| Name | Supported | Defined By |
-| ---- | --------- | ---------- |
-|Readme|✓|ToolingExtension
-|Servers|✗|OAS3
-|Security|✗|OAS2,OAS3
-|ComponentSchemas|✓|OAS3
-|ComponentResponses|✗|OAS3
-|ComponentParameters|✗|OAS3
-|ComponentRequestBodies|✗|OAS3
-|ComponentHeaders|✗|OAS3
-|ComponentSecuritySchemes|✗|OAS3
-|ComponentLinks|✗|OAS3
-|ComponentCallbacks|✗|OAS3
-|ComponentPathItems|✗|OAS3
-|Api|✓|ToolingExtension
-
-### Global Feature
-| Name | Supported | Defined By |
-| ---- | --------- | ---------- |
-|Info|✓|OAS2,OAS3
-|Servers|✗|OAS3
-|Paths|✗|OAS2,OAS3
-|Webhooks|✗|OAS3
-|Components|✓|OAS3
-|Security|✗|OAS2,OAS3
-|Tags|✗|OAS2,OAS3
-|ExternalDocs|✗|OAS2,OAS3
-
-### Operation Feature
-| Name | Supported | Defined By |
-| ---- | --------- | ---------- |
-|Responses_HttpStatusCode|✓|OAS3
-|Responses_RangedResponseCodes|✗|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
-|Style_Matrix|✗|OAS3
-|Style_Label|✗|OAS3
-|Style_Form|✗|OAS3
-|Style_Simple|✗|OAS3
-|Style_SpaceDelimited|✗|OAS3
-|Style_PipeDelimited|✗|OAS3
-|Style_DeepObject|✗|OAS3
-|Explode|✗|OAS3
-|Schema|✗|OAS3
-|Content|✗|OAS3
-
-### Schema Feature
-| Name | Supported | Defined By |
-| ---- | --------- | ---------- |
-|AdditionalProperties|✗|OAS2,OAS3
-|AllOf|✗|OAS2,OAS3
-|AnyOf|✗|OAS3
-|Const|✗|OAS3
-|Contains|✗|OAS3
-|Default|✗|OAS2,OAS3
-|DependentRequired|✗|OAS3
-|DependentSchemas|✗|OAS3
-|Discriminator|✓|OAS2,OAS3
-|Else|✗|OAS3
-|Enum|✓|OAS2,OAS3
-|ExclusiveMinimum|✓|OAS2,OAS3
-|ExclusiveMaximum|✓|OAS2,OAS3
-|Format|✓|OAS2,OAS3
-|If|✗|OAS3
-|Items|✓|OAS2,OAS3
-|MaxContains|✗|OAS3
-|MaxItems|✓|OAS2,OAS3
-|MaxLength|✓|OAS2,OAS3
-|MaxProperties|✓|OAS2,OAS3
-|Maximum|✓|OAS2,OAS3
-|MinContains|✗|OAS3
-|MinItems|✓|OAS2,OAS3
-|MinLength|✓|OAS2,OAS3
-|MinProperties|✓|OAS2,OAS3
-|Minimum|✓|OAS2,OAS3
-|MultipleOf|✓|OAS2,OAS3
-|Not|✗|OAS3
-|Nullable|✗|OAS3
-|OneOf|✗|OAS3
-|Pattern|✓|OAS2,OAS3
-|PatternProperties|✗|OAS3
-|PrefixItems|✗|OAS3
-|Properties|✓|OAS2,OAS3
-|PropertyNames|✗|OAS3
-|Ref|✗|OAS2,OAS3
-|Required|✓|OAS2,OAS3
-|Then|✗|OAS3
-|Type|✓|OAS2,OAS3
-|UnevaluatedItems|✗|OAS3
-|UnevaluatedProperties|✗|OAS3
-|UniqueItems|✓|OAS2,OAS3
-|Xml|✗|OAS2,OAS3
-
-### Security Feature
-| Name | Supported | Defined By |
-| ---- | --------- | ---------- |
-|HTTP_Basic|✓|OAS2,OAS3
-|ApiKey|✓|OAS2,OAS3
-|OpenIDConnect|✗|OAS3
-|HTTP_Bearer|✓|OAS2,OAS3
-|OAuth2_Implicit|✗|OAS2,OAS3
-|OAuth2_Password|✗|OAS2,OAS3
-|OAuth2_ClientCredentials|✗|OAS2,OAS3
-|OAuth2_AuthorizationCode|✗|OAS2,OAS3
-
-### Wire Format Feature
-| Name | Supported | Defined By |
-| ---- | --------- | ---------- |
-|JSON|✓|OAS2,OAS3
-|XML|✗|OAS2,OAS3
-|PROTOBUF|✗|ToolingExtension
-|Custom|✗|OAS2,OAS3
diff --git a/src/main/java/org/openapijsonschematools/codegen/generators/AbstractJavaJAXRSServerGenerator.java b/src/main/java/org/openapijsonschematools/codegen/generators/AbstractJavaJAXRSServerGenerator.java
deleted file mode 100644
index f3bcbc945a8..00000000000
--- a/src/main/java/org/openapijsonschematools/codegen/generators/AbstractJavaJAXRSServerGenerator.java
+++ /dev/null
@@ -1,196 +0,0 @@
-/*
- * Copyright 2018 OpenAPI-Generator Contributors (https://openapi-generator.tech)
- * Copyright 2018 SmartBear Software
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * https://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.openapijsonschematools.codegen.generators;
-
-import com.google.common.annotations.VisibleForTesting;
-import io.swagger.v3.oas.models.OpenAPI;
-import io.swagger.v3.oas.models.Operation;
-import io.swagger.v3.oas.models.PathItem;
-import org.apache.commons.lang3.StringUtils;
-import org.openapijsonschematools.codegen.generators.models.CliOption;
-import org.openapijsonschematools.codegen.common.CodegenConstants;
-import org.openapijsonschematools.codegen.generators.generatormetadata.GeneratorType;
-import org.openapijsonschematools.codegen.generators.openapimodels.CodegenOperation;
-import org.openapijsonschematools.codegen.generators.features.BeanValidationFeatures;
-import org.openapijsonschematools.codegen.common.URLPathUtils;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import java.net.URL;
-import java.util.*;
-
-public abstract class AbstractJavaJAXRSServerGenerator extends AbstractJavaGenerator implements BeanValidationFeatures {
- public static final String SERVER_PORT = "serverPort";
- public static final String USE_TAGS = "useTags";
-
- /**
- * Name of the sub-directory in "src/main/resource" where to find the
- * Mustache template for the JAX-RS Codegen.
- */
- protected static final String JAXRS_TEMPLATE_DIRECTORY_NAME = "JavaJaxRS";
- protected String implFolder = "src/main/java";
- protected String testResourcesFolder = "src/test/resources";
- protected String title = "OpenAPI Server";
- protected String serverPort = "8080";
-
- protected boolean useBeanValidation = true;
- protected boolean useTags = false;
-
- private final Logger LOGGER = LoggerFactory.getLogger(AbstractJavaJAXRSServerGenerator.class);
-
- public AbstractJavaJAXRSServerGenerator() {
- super();
-
- sourceFolder = "src/gen/java";
- invokerPackage = "org.openapijsonschematools.api";
- artifactId = "openapi-jaxrs-server";
- dateLibrary = "legacy"; //TODO: add joda support to all jax-rs
- apiPackage = "org.openapijsonschematools.api";
- modelPackage = "org.openapijsonschematools.model";
-
- // clioOptions default redefinition need to be updated
- updateOption(CodegenConstants.INVOKER_PACKAGE, this.getInvokerPackage());
- updateOption(CodegenConstants.ARTIFACT_ID, this.getArtifactId());
- updateOption(CodegenConstants.API_PACKAGE, apiPackage);
- updateOption(CodegenConstants.MODEL_PACKAGE, modelPackage);
- updateOption(DATE_LIBRARY, this.getDateLibrary());
- updateOption(CodegenConstants.SOURCE_FOLDER, this.getSourceFolder());
-
- additionalProperties.put("title", title);
- // java inflector uses the jackson lib
- additionalProperties.put(JACKSON, "true");
-
- cliOptions.add(new CliOption(CodegenConstants.IMPL_FOLDER, CodegenConstants.IMPL_FOLDER_DESC).defaultValue(implFolder));
- cliOptions.add(new CliOption("title", "a title describing the application").defaultValue(title));
- cliOptions.add(CliOption.newBoolean(USE_BEANVALIDATION, "Use BeanValidation API annotations",useBeanValidation));
- cliOptions.add(new CliOption(SERVER_PORT, "The port on which the server should be started").defaultValue(serverPort));
- cliOptions.add(CliOption.newBoolean(USE_TAGS, "use tags for creating interface and controller classnames"));
- }
-
-
- // ===============
- // COMMONS METHODS
- // ===============
-
- @Override
- public GeneratorType getTag() {
- return GeneratorType.SERVER;
- }
-
- @Override
- public void processOpts() {
- super.processOpts();
-
- if (additionalProperties.containsKey(CodegenConstants.IMPL_FOLDER)) {
- implFolder = (String) additionalProperties.get(CodegenConstants.IMPL_FOLDER);
- }
-
- if (additionalProperties.containsKey(USE_BEANVALIDATION)) {
- setUseBeanValidation(convertPropertyToBoolean(USE_BEANVALIDATION));
- }
-
- if (additionalProperties.containsKey(USE_TAGS)) {
- setUseTags(convertPropertyToBoolean(USE_TAGS));
- }
-
- writePropertyBack(USE_BEANVALIDATION, useBeanValidation);
- }
-
- @Override
- public void addOperationToGroup(String tag, String resourcePath, Operation operation, CodegenOperation co, Map> operations) {
- if (useTags) {
- super.addOperationToGroup(tag, resourcePath, operation, co, operations);
- }
- }
-
- @Override
- public void preprocessOpenAPI(OpenAPI openAPI) {
- super.preprocessOpenAPI(openAPI);
- /* TODO there should be no need for the following logic
- if ("/".equals(swagger.getBasePath())) {
- swagger.setBasePath("");
- }
- */
-
- if (!this.additionalProperties.containsKey(SERVER_PORT)) {
- URL url = URLPathUtils.getServerURL(openAPI, serverVariableOverrides());
- // 8080 is the default value for a JEE Server:
- this.additionalProperties.put(SERVER_PORT, URLPathUtils.getPort(url, serverPort));
- }
-
- if (openAPI.getPaths() != null) {
- for (Map.Entry openAPIGetPathsEntry : openAPI.getPaths().entrySet()) {
- String pathname = openAPIGetPathsEntry.getKey();
- PathItem path = openAPIGetPathsEntry.getValue();
- if (path.readOperations() != null) {
- for (Operation operation : path.readOperations()) {
- if (operation.getTags() != null) {
- List