Class SchemaValidatorsConfig


  • public class SchemaValidatorsConfig
    extends Object
    • Constructor Detail

      • SchemaValidatorsConfig

        public SchemaValidatorsConfig()
    • Method Detail

      • isUnevaluatedItemsAnalysisDisabled

        public boolean isUnevaluatedItemsAnalysisDisabled()
      • isUnevaluatedItemsAnalysisEnabled

        public boolean isUnevaluatedItemsAnalysisEnabled()
      • isUnevaluatedPropertiesAnalysisDisabled

        public boolean isUnevaluatedPropertiesAnalysisDisabled()
      • isUnevaluatedPropertiesAnalysisEnabled

        public boolean isUnevaluatedPropertiesAnalysisEnabled()
      • isTypeLoose

        public boolean isTypeLoose()
        END OF UNEVALUATED CHECKS
      • setTypeLoose

        public void setTypeLoose​(boolean typeLoose)
      • isFailFast

        public boolean isFailFast()
      • setApplyDefaultsStrategy

        public void setApplyDefaultsStrategy​(ApplyDefaultsStrategy applyDefaultsStrategy)
      • addUriTranslator

        public void addUriTranslator​(URITranslator uriTranslator)
      • getUriMappings

        @Deprecated
        public Map<String,​String> getUriMappings()
        Deprecated.
        Use getUriTranslator() instead
        Returns:
        Map of public, normally internet accessible schema URLs
      • setUriMappings

        @Deprecated
        public void setUriMappings​(Map<String,​String> uriMappings)
        Deprecated.
        Use addUriTranslator() instead
        Parameters:
        uriMappings - Map of public, normally internet accessible schema URLs
      • 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)
      • isCustomMessageSupported

        public boolean isCustomMessageSupported()
      • setCustomMessageSupported

        public void setCustomMessageSupported​(boolean customMessageSupported)
      • 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()
      • isResetCollectorContext

        public boolean isResetCollectorContext()
      • setResetCollectorContext

        public void setResetCollectorContext​(boolean resetCollectorContext)
      • isWriteMode

        public boolean isWriteMode()
      • setWriteMode

        public void setWriteMode​(boolean writeMode)
        When set to true considers that schema is used to write data then ReadOnlyValidator is activated. Default true.
        Parameters:
        writeMode - true if schema is used to write data
      • setPathType

        public void setPathType​(PathType pathType)
        Set the approach used to generate paths in messages, logs and errors (default is PathType.LEGACY).
        Parameters:
        pathType - The path generation approach.
      • getPathType

        public PathType getPathType()
        Get the approach used to generate paths in messages, logs and errors.
        Returns:
        The path generation approach.
      • isStrict

        public boolean isStrict​(String keyword)
        Answers whether a keyword's validators may relax their analysis. The default is to perform strict checking. One must explicitly allow a validator to be more permissive.

        Each validator has its own understanding of what is permissive and strict. Consult the keyword's documentation for details.

        Parameters:
        keyword - the keyword to adjust (not null)
        Returns:
        Whether to perform a strict validation.
      • setStrict

        public void setStrict​(String keyword,
                              boolean strict)
        Alters the strictness of validations for a specific keyword. When set to true, instructs the keyword's validators to perform strict validation. Otherwise, a validator may perform a more permissive check.
        Parameters:
        keyword - The keyword to adjust (not null)
        strict - Whether to perform strict validations
      • getLocale

        public Locale getLocale()
        Get the locale to consider when generating localised messages (default is the JVM default).
        Returns:
        The locale.
      • setLocale

        public void setLocale​(Locale locale)
        Get the locale to consider when generating localised messages.
        Parameters:
        locale - The locale.
      • getResourceBundle

        public ResourceBundle getResourceBundle()
        Get the resource bundle to use when generating localised messages.
        Returns:
        The resource bundle.
      • setResourceBundle

        public void setResourceBundle​(ResourceBundle resourceBundle)
        Set the resource bundle to use when generating localised messages.
        Parameters:
        resourceBundle - The resource bundle.