Class RuleConfiguration
- java.lang.Object
-
- org.openapitools.codegen.validations.oas.RuleConfiguration
-
public class RuleConfiguration extends Object
Allows for configuration of validation rules which will be applied to a specification.
-
-
Constructor Summary
Constructors Constructor Description RuleConfiguration()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
isEnableApacheNginxUnderscoreRecommendation()
Gets whether we will raise awareness that header parameters with underscore may be ignored in Apache or Nginx by default.boolean
isEnableApiRequestUriWithBodyRecommendation()
Gets whether we will raise awareness a GET or HEAD operation is defined with body.boolean
isEnableInvalidTypeRecommendation()
Gets whether the recommendation check for schemas containing invalid values for the 'type' attribute.boolean
isEnableNullableAttributeRecommendation()
Gets whether the recommendation check for schemas containing the 'nullable' attribute.boolean
isEnableOneOfWithPropertiesRecommendation()
Gets whether the recommendation check for oneOf with sibling properties exists.boolean
isEnableRecommendations()
Get whether recommendations are enabled.boolean
isEnableSchemaTypeRecommendation()
Gets whether the recommendation check for schemas containing type definitions.boolean
isEnableUnusedSchemasRecommendation()
Gets whether the recommendation to check for unused schemas is enabled.void
setEnableApacheNginxUnderscoreRecommendation(boolean enableApacheNginxUnderscoreRecommendation)
Enable or Disable the recommendation check for Apache/Nginx potentially ignoring header with underscore by default.void
setEnableApiRequestUriWithBodyRecommendation(boolean enableApiRequestUriWithBodyRecommendation)
Enable or Disable the recommendation check for GET or HEAD operations with bodies.void
setEnableInvalidTypeRecommendation(boolean enableInvalidTypeRecommendation)
Enable or Disable the recommendation check for the 'type' attribute.void
setEnableNullableAttributeRecommendation(boolean enableNullableAttributeRecommendation)
Enable or Disable the recommendation check for the 'nullable' attribute.void
setEnableOneOfWithPropertiesRecommendation(boolean enableOneOfWithPropertiesRecommendation)
Enable or Disable the recommendation check for schemas containing properties and oneOf definitions.void
setEnableRecommendations(boolean enableRecommendations)
Enable or Disable recommendations.void
setEnableSchemaTypeRecommendation(boolean enableSchemaTypeRecommendation)
Enable or Disable the recommendation check for schemas containing type definitions, specifically for changes between OpenAPI 3.0.x and 3.1.void
setEnableUnusedSchemasRecommendation(boolean enableUnusedSchemasRecommendation)
Enable or Disable the recommendation check for unused schemas.
-
-
-
Method Detail
-
isEnableApacheNginxUnderscoreRecommendation
public boolean isEnableApacheNginxUnderscoreRecommendation()
Gets whether we will raise awareness that header parameters with underscore may be ignored in Apache or Nginx by default. For more details, see https://stackoverflow.com/a/22856867/151445.- Returns:
true
if enabled,false
if disabled
-
setEnableApacheNginxUnderscoreRecommendation
public void setEnableApacheNginxUnderscoreRecommendation(boolean enableApacheNginxUnderscoreRecommendation)
Enable or Disable the recommendation check for Apache/Nginx potentially ignoring header with underscore by default.For more details, see
isEnableApacheNginxUnderscoreRecommendation()
- Parameters:
enableApacheNginxUnderscoreRecommendation
-true
to enable,false
to disable
-
isEnableApiRequestUriWithBodyRecommendation
public boolean isEnableApiRequestUriWithBodyRecommendation()
Gets whether we will raise awareness a GET or HEAD operation is defined with body.- Returns:
true
if enabled,false
if disabled
-
setEnableApiRequestUriWithBodyRecommendation
public void setEnableApiRequestUriWithBodyRecommendation(boolean enableApiRequestUriWithBodyRecommendation)
Enable or Disable the recommendation check for GET or HEAD operations with bodies.For more details, see
isEnableApiRequestUriWithBodyRecommendation()
- Parameters:
enableApiRequestUriWithBodyRecommendation
-true
to enable,false
to disable
-
isEnableOneOfWithPropertiesRecommendation
public boolean isEnableOneOfWithPropertiesRecommendation()
Gets whether the recommendation check for oneOf with sibling properties exists.JSON Schema defines oneOf as a validation property which can be applied to any schema.
OpenAPI Specification is a variant of JSON Schema for which oneOf is defined as: "Inline or referenced schema MUST be of a Schema Object and not a standard JSON Schema."
Where the only examples of oneOf in OpenAPI Specification are used to define either/or type structures rather than validations. Because of this ambiguity in the spec about what is non-standard about oneOf support, we'll warn as a recommendation that properties on the schema defining oneOf relationships may not be intentional in the OpenAPI Specification.
- Returns:
true
if enabled,false
if disabled
-
setEnableOneOfWithPropertiesRecommendation
public void setEnableOneOfWithPropertiesRecommendation(boolean enableOneOfWithPropertiesRecommendation)
Enable or Disable the recommendation check for schemas containing properties and oneOf definitions.For more details, see
isEnableOneOfWithPropertiesRecommendation()
- Parameters:
enableOneOfWithPropertiesRecommendation
-true
to enable,false
to disable
-
setEnableSchemaTypeRecommendation
public void setEnableSchemaTypeRecommendation(boolean enableSchemaTypeRecommendation)
Enable or Disable the recommendation check for schemas containing type definitions, specifically for changes between OpenAPI 3.0.x and 3.1.For more details, see
isEnableSchemaTypeRecommendation()
- Parameters:
enableSchemaTypeRecommendation
-true
to enable,false
to disable
-
isEnableSchemaTypeRecommendation
public boolean isEnableSchemaTypeRecommendation()
Gets whether the recommendation check for schemas containing type definitions.In OpenAPI 3.0.x, the "type" attribute must be a string value. In OpenAPI 3.1, the type attribute may be: A string value The 'null' value An array containing primitive types and the 'null' value.
- Returns:
true
if enabled,false
if disabled
-
setEnableNullableAttributeRecommendation
public void setEnableNullableAttributeRecommendation(boolean enableNullableAttributeRecommendation)
Enable or Disable the recommendation check for the 'nullable' attribute.For more details, see
isEnableNullableAttributeRecommendation()
- Parameters:
enableNullableAttributeRecommendation
-true
to enable,false
to disable
-
isEnableNullableAttributeRecommendation
public boolean isEnableNullableAttributeRecommendation()
Gets whether the recommendation check for schemas containing the 'nullable' attribute.In OpenAPI 3.0.x, the "nullable" attribute is supported. However, because it is deprecated in 3.1 and above, a warning is logged to prepare for OpenAPI 3.1 recommendations. In OpenAPI 3.1, the 'nullable' attribute is deprecated. Instead the OpenAPI specification should use the 'null' type.
- Returns:
true
if enabled,false
if disabled
-
setEnableInvalidTypeRecommendation
public void setEnableInvalidTypeRecommendation(boolean enableInvalidTypeRecommendation)
Enable or Disable the recommendation check for the 'type' attribute.For more details, see
isEnableInvalidTypeRecommendation()
- Parameters:
enableInvalidTypeRecommendation
-true
to enable,false
to disable
-
isEnableInvalidTypeRecommendation
public boolean isEnableInvalidTypeRecommendation()
Gets whether the recommendation check for schemas containing invalid values for the 'type' attribute.- Returns:
true
if enabled,false
if disabled
-
isEnableRecommendations
public boolean isEnableRecommendations()
Get whether recommendations are enabled.The 'type' attribute must be one of 'null', 'boolean', 'object', 'array', 'number', 'string', or 'integer'
- Returns:
true
if enabled,false
if disabled
-
setEnableRecommendations
public void setEnableRecommendations(boolean enableRecommendations)
Enable or Disable recommendations. Recommendations are either informational or warning level type validations which are raised to communicate issues to the user which they may not be aware of, or for which support in the tooling/spec may not be clearly defined.- Parameters:
enableRecommendations
-true
to enable,false
to disable
-
isEnableUnusedSchemasRecommendation
public boolean isEnableUnusedSchemasRecommendation()
Gets whether the recommendation to check for unused schemas is enabled.While the tooling may or may not support generation of models representing unused schemas, we take the stance that a schema which is defined but not referenced in an operation or by some schema bound to an operation may be a good indicator of a programming error. We surface this information to the user in case the orphaned schema(s) are not intentional.
- Returns:
true
if enabled,false
if disabled
-
setEnableUnusedSchemasRecommendation
public void setEnableUnusedSchemasRecommendation(boolean enableUnusedSchemasRecommendation)
Enable or Disable the recommendation check for unused schemas.For more details, see
isEnableUnusedSchemasRecommendation()
- Parameters:
enableUnusedSchemasRecommendation
-true
to enable,false
to disable
-
-