@NotThreadSafe public final class JsonSchemaInferrerBuilder extends Object
JsonSchemaInferrer. This class is mutable and not thread safe.JsonSchemaInferrer.newBuilder()public JsonSchemaInferrerBuilder setSpecVersion(@Nonnull SpecVersion specVersion)
public JsonSchemaInferrerBuilder setIntegerTypePreference(@Nonnull IntegerTypePreference integerTypePreference)
IntegerTypePreference. The default is IntegerTypePreference.IF_ALL.IntegerTypePreferencepublic JsonSchemaInferrerBuilder setIntegerTypeCriterion(@Nonnull IntegerTypeCriterion integerTypeCriterion)
IntegerTypeCriterion. The default is
IntegerTypeCriteria.nonFloatingPoint().IntegerTypeCriterion,
IntegerTypeCriteriapublic JsonSchemaInferrerBuilder addEnumExtractors(@Nonnull EnumExtractor... enumExtractors)
EnumExtractors.EnumExtractor,
EnumExtractorspublic JsonSchemaInferrerBuilder setTitleDescriptionGenerator(@Nonnull TitleDescriptionGenerator titleDescriptionGenerator)
TitleDescriptionGenerator for this inferrer. By default it is
TitleDescriptionGenerators.noOp(). You can provide your custom implementations and
transform the field names however you see fit.public JsonSchemaInferrerBuilder addFormatInferrers(@Nonnull FormatInferrer... formatInferrers)
FormatInferrer for inferring the format of
strings. By default no FormatInferrer is enabled. An example of a possible custom
implementation is available at FormatInferrers.dateTime(), which you can potentially
use or use it combined with your own implementations.FormatInferrer,
FormatInferrerspublic JsonSchemaInferrerBuilder setAdditionalPropertiesPolicy(@Nonnull AdditionalPropertiesPolicy additionalPropertiesPolicy)
AdditionalPropertiesPolicy. By default it is
AdditionalPropertiesPolicies.noOp().public JsonSchemaInferrerBuilder setRequiredPolicy(@Nonnull RequiredPolicy requiredPolicy)
RequiredPolicy. By default it is RequiredPolicies.noOp().RequiredPolicy,
RequiredPoliciespublic JsonSchemaInferrerBuilder setDefaultPolicy(@Nonnull DefaultPolicy defaultPolicy)
DefaultPolicy. By default it is DefaultPolicies.noOp().DefaultPolicy,
DefaultPoliciespublic JsonSchemaInferrerBuilder setExamplesPolicy(@Nonnull ExamplesPolicy examplesPolicy)
ExamplesPolicy. By default is ExamplesPolicies.noOp().ExamplesPolicy,
ExamplesPoliciespublic JsonSchemaInferrerBuilder setMultipleOfPolicy(@Nonnull MultipleOfPolicy multipleOfPolicy)
MultipleOfPolicy. By default it is MultipleOfPolicies.noOp().MultipleOfPolicy,
MultipleOfPoliciespublic JsonSchemaInferrerBuilder setObjectSizeFeatures(@Nonnull EnumSet<ObjectSizeFeature> objectSizeFeatures)
ObjectSizeFeatures enabledpublic JsonSchemaInferrerBuilder setArrayLengthFeatures(@Nonnull EnumSet<ArrayLengthFeature> arrayLengthFeatures)
ArrayLengthFeatures enabledpublic JsonSchemaInferrerBuilder setStringLengthFeatures(@Nonnull EnumSet<StringLengthFeature> stringLengthFeatures)
StringLengthFeatures enabledpublic JsonSchemaInferrerBuilder setNumberRangeFeatures(@Nonnull EnumSet<NumberRangeFeature> numberRangeFeatures)
NumberRangeFeatures enabledpublic JsonSchemaInferrerBuilder addGenericSchemaFeatures(@Nonnull GenericSchemaFeature... features)
GenericSchemaFeatures.public JsonSchemaInferrer build()
JsonSchemaInferrer builtIllegalArgumentException - if the spec version and features don't match upCopyright © 2019–2022. All rights reserved.