Class SchemaValidatorsConfig


  • public class SchemaValidatorsConfig
    extends Object
    • Constructor Detail

      • SchemaValidatorsConfig

        public SchemaValidatorsConfig()
    • Method Detail

      • isTypeLoose

        public boolean isTypeLoose()
      • setTypeLoose

        public void setTypeLoose​(boolean typeLoose)
      • isFailFast

        public boolean isFailFast()
      • setApplyDefaultsStrategy

        public void setApplyDefaultsStrategy​(ApplyDefaultsStrategy applyDefaultsStrategy)
      • setUriMappings

        public void setUriMappings​(Map<String,​String> uriMappings)
      • isHandleNullableField

        public boolean isHandleNullableField()
      • setHandleNullableField

        public void setHandleNullableField​(boolean handleNullableField)
      • isEcma262Validator

        public boolean isEcma262Validator()
      • setEcma262Validator

        public void setEcma262Validator​(boolean ecma262Validator)
      • isJavaSemantics

        public boolean isJavaSemantics()
      • setJavaSemantics

        public void setJavaSemantics​(boolean javaSemantics)
      • addPropertyWalkListener

        public void addPropertyWalkListener​(JsonSchemaWalkListener propertyWalkListener)
      • setCollectorContext

        public void setCollectorContext​(CollectorContext collectorContext)
      • isLosslessNarrowing

        public boolean isLosslessNarrowing()
      • setLosslessNarrowing

        public void setLosslessNarrowing​(boolean losslessNarrowing)
      • isOpenAPI3StyleDiscriminators

        public boolean isOpenAPI3StyleDiscriminators()
        Indicates whether OpenAPI 3 style discriminators should be supported
        Returns:
        true in case discriminators are enabled
        Since:
        1.0.51
      • setOpenAPI3StyleDiscriminators

        public void setOpenAPI3StyleDiscriminators​(boolean openAPI3StyleDiscriminators)
        When enabled, the validation of anyOf and allOf in polymorphism will respect OpenAPI 3 style discriminators as described in the OpenAPI 3.0.3 spec. The presence of a discriminator configuration on the schema will lead to the following changes in the behavior:
        • for oneOf the spec is unfortunately very vague. Whether oneOf semantics should be affected by discriminators or not is not even 100% clear within the members of the OAS steering committee. Therefore oneOf at the moment ignores discriminators
        • for anyOf the validation will choose one of the candidate schemas for validation based on the discriminator property value and will pass validation when this specific schema passes. This is in particular useful when the payload could match multiple candidates in the anyOf list and could lead to ambiguity. Example: type B has all mandatory properties of A and adds more mandatory ones. Whether the payload is an A or B is determined via the discriminator property name. A payload indicating it is an instance of B then requires passing the validation of B and passing the validation of A would not be sufficient anymore.
        • for allOf use cases with discriminators defined on the copied-in parent type, it is possible to automatically validate against a subtype. Example: some schema specifies that there is a field of type A. A carries a discriminator field and B inherits from A. Then B is automatically a candidate for validation as well and will be chosen in case the discriminator property matches
        Parameters:
        openAPI3StyleDiscriminators - whether or not discriminators should be used. Defaults to false
        Since:
        1.0.51
      • setLoadCollectors

        public void setLoadCollectors​(boolean loadCollectors)
      • doLoadCollectors

        public boolean doLoadCollectors()