Class SchemaGeneratorConfigImpl
- java.lang.Object
-
- com.github.victools.jsonschema.generator.impl.SchemaGeneratorConfigImpl
-
- All Implemented Interfaces:
SchemaGeneratorConfig
,StatefulConfig
public class SchemaGeneratorConfigImpl extends Object implements SchemaGeneratorConfig
Default implementation of a schema generator's configuration.
-
-
Constructor Summary
Constructors Constructor Description SchemaGeneratorConfigImpl(com.fasterxml.jackson.databind.ObjectMapper objectMapper, SchemaVersion schemaVersion, Set<Option> enabledOptions, SchemaGeneratorGeneralConfigPart typesInGeneralConfigPart, SchemaGeneratorConfigPart<FieldScope> fieldConfigPart, SchemaGeneratorConfigPart<MethodScope> methodConfigPart)
Constructor of a configuration instance.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description com.fasterxml.jackson.databind.node.ArrayNode
createArrayNode()
Generate an empty JSON node representing an array (which will subsequently be filled by the generator).com.fasterxml.jackson.databind.node.ObjectNode
createObjectNode()
Generate an empty JSON node representing an object (which will subsequently be filled by the generator).CustomDefinition
getCustomDefinition(com.fasterxml.classmate.ResolvedType javaType, SchemaGenerationContext context, CustomDefinitionProviderV2 ignoredDefinitionProvider)
Look-up the non-standard JSON schema definition for a given type.<M extends MemberScope<?,?>>
CustomPropertyDefinitiongetCustomDefinition(M scope, SchemaGenerationContext context, CustomPropertyDefinitionProvider<M> ignoredDefinitionProvider)
Look-up the non-standard JSON schema definition for a given property.SchemaDefinitionNamingStrategy
getDefinitionNamingStrategy()
Getter for the naming strategy to be applied when determining key names in the "definitions"/"$defs".List<InstanceAttributeOverrideV2<FieldScope>>
getFieldAttributeOverrides()
Getter for the applicable instance attribute overrides for fields.String
getKeyword(SchemaKeyword keyword)
Getter for the indicated keyword's value in the designated JSON Schema version.List<InstanceAttributeOverrideV2<MethodScope>>
getMethodAttributeOverrides()
Getter for the applicable instance attribute overrides for methods.com.fasterxml.jackson.databind.ObjectMapper
getObjectMapper()
Getter for the underlying object mapper.SchemaVersion
getSchemaVersion()
Getter for the designated JSON Schema version.List<TypeAttributeOverrideV2>
getTypeAttributeOverrides()
Getter for the applicable type attribute overrides.boolean
isNullable(FieldScope field)
Check whether a field/property is nullable.boolean
isNullable(MethodScope method)
Check whether a method's return value is nullable.boolean
isReadOnly(FieldScope field)
Check whether a field/property value is deemed read-only, i.e., may be ignored or rejected when included in a request.boolean
isReadOnly(MethodScope method)
Check whether a method value is deemed read-only, i.e., may be ignored or rejected when included in a request.boolean
isRequired(FieldScope field)
Check whether a field/property value is required.boolean
isRequired(MethodScope method)
Check whether a method value is required.boolean
isWriteOnly(FieldScope field)
Check whether a field/property value is deemed write-only, i.e., is not being returned in responses.boolean
isWriteOnly(MethodScope method)
Check whether a method value is deemed write-only, i.e., is not being returned in responses.void
resetAfterSchemaGenerationFinished()
Method being invoked after the generation of a single "main" type's schema has been completed.com.fasterxml.jackson.databind.JsonNode
resolveAdditionalProperties(FieldScope field, SchemaGenerationContext context)
Determine the "additionalProperties" of an object's field/property.com.fasterxml.jackson.databind.JsonNode
resolveAdditionalProperties(MethodScope method, SchemaGenerationContext context)
Determine the "additionalProperties" of a method's return value.com.fasterxml.jackson.databind.JsonNode
resolveAdditionalPropertiesForType(TypeScope scope, SchemaGenerationContext context)
Determine the "additionalProperties" of a context-independent type representation.String
resolveAnchorForType(TypeScope scope)
Determine the "$anchor" of a context-independent type representation.Integer
resolveArrayMaxItems(FieldScope field)
Determine the "maxItems" of an object's field/property.Integer
resolveArrayMaxItems(MethodScope method)
Determine the "maxItems" of a method's return value.Integer
resolveArrayMaxItemsForType(TypeScope scope)
Determine the "maxItems" of a context-independent type representation.Integer
resolveArrayMinItems(FieldScope field)
Determine the "minItems" of an object's field/property.Integer
resolveArrayMinItems(MethodScope method)
Determine the "minItems" of a method's return value.Integer
resolveArrayMinItemsForType(TypeScope scope)
Determine the "minItems" of a context-independent type representation.Boolean
resolveArrayUniqueItems(FieldScope field)
Determine the "uniqueItems" of an object's field/property.Boolean
resolveArrayUniqueItems(MethodScope method)
Determine the "uniqueItems" of a method's return value.Boolean
resolveArrayUniqueItemsForType(TypeScope scope)
Determine the "uniqueItems" of a context-independent type representation.Object
resolveDefault(FieldScope field)
Determine the "default" value of an object's field/property.Object
resolveDefault(MethodScope method)
Determine the "default" value of a method's return value.Object
resolveDefaultForType(TypeScope scope)
Determine the "default" value of a context-independent type representation.String
resolveDescription(FieldScope field)
Determine the "description" of an object's field/property.String
resolveDescription(MethodScope method)
Determine the "description" of a method's return value.String
resolveDescriptionForType(TypeScope scope)
Determine the "description" of a context-independent type representation.Collection<?>
resolveEnum(FieldScope field)
Determine the "enum"/"const" of an object's field/property.Collection<?>
resolveEnum(MethodScope method)
Determine the "enum"/"const" of a method's return value.Collection<?>
resolveEnumForType(TypeScope scope)
Determine the "enum"/"const" of a context-independent type representation.String
resolveIdForType(TypeScope scope)
Determine the "$id" of a context-independent type representation.BigDecimal
resolveNumberExclusiveMaximum(FieldScope field)
Determine the "exclusiveMaximum" of an object's field/property.BigDecimal
resolveNumberExclusiveMaximum(MethodScope method)
Determine the "exclusiveMaximum" of a method's return value.BigDecimal
resolveNumberExclusiveMaximumForType(TypeScope scope)
Determine the "exclusiveMaximum" of a context-independent type representation.BigDecimal
resolveNumberExclusiveMinimum(FieldScope field)
Determine the "exclusiveMinimum" of an object's field/property.BigDecimal
resolveNumberExclusiveMinimum(MethodScope method)
Determine the "exclusiveMinimum" of a method's return value.BigDecimal
resolveNumberExclusiveMinimumForType(TypeScope scope)
Determine the "exclusiveMinimum" of a context-independent type representation.BigDecimal
resolveNumberInclusiveMaximum(FieldScope field)
Determine the "maximum" of an object's field/property.BigDecimal
resolveNumberInclusiveMaximum(MethodScope method)
Determine the "maximum" of a method's return value.BigDecimal
resolveNumberInclusiveMaximumForType(TypeScope scope)
Determine the "maximum" of a context-independent type representation.BigDecimal
resolveNumberInclusiveMinimum(FieldScope field)
Determine the "minimum" of an object's field/property.BigDecimal
resolveNumberInclusiveMinimum(MethodScope method)
Determine the "minimum" of a method's return value.BigDecimal
resolveNumberInclusiveMinimumForType(TypeScope scope)
Determine the "minimum" of a context-independent type representation.BigDecimal
resolveNumberMultipleOf(FieldScope field)
Determine the "multipleOf" of an object's field/property.BigDecimal
resolveNumberMultipleOf(MethodScope method)
Determine the "multipleOf" of a method's return value.BigDecimal
resolveNumberMultipleOfForType(TypeScope scope)
Determine the "multipleOf" of a context-independent type representation.Map<String,com.fasterxml.jackson.databind.JsonNode>
resolvePatternProperties(FieldScope field, SchemaGenerationContext context)
Determine the "patternProperties" of an object's field/property.Map<String,com.fasterxml.jackson.databind.JsonNode>
resolvePatternProperties(MethodScope method, SchemaGenerationContext context)
Determine the "patternProperties" of a method's return value.Map<String,com.fasterxml.jackson.databind.JsonNode>
resolvePatternPropertiesForType(TypeScope scope, SchemaGenerationContext context)
Determine the "patternProperties" of a context-independent type representation.String
resolvePropertyNameOverride(FieldScope field)
Determine the alternative name in a parent JSON Schema's "properties" from an object's field/property.String
resolvePropertyNameOverride(MethodScope method)
Determine the alternative name in a parent JSON Schema's "properties" from a method's return value.String
resolveStringFormat(FieldScope field)
Determine the "format" of an object's field/property.String
resolveStringFormat(MethodScope method)
Determine the "format" of a method's return value.String
resolveStringFormatForType(TypeScope scope)
Determine the "format" of a context-independent type representation.Integer
resolveStringMaxLength(FieldScope field)
Determine the "maxLength" of an object's field/property.Integer
resolveStringMaxLength(MethodScope method)
Determine the "maxLength" of a method's return value.Integer
resolveStringMaxLengthForType(TypeScope scope)
Determine the "maxLength" of a context-independent type representation.Integer
resolveStringMinLength(FieldScope field)
Determine the "minLength" of an object's field/property.Integer
resolveStringMinLength(MethodScope method)
Determine the "minLength" of a method's return value.Integer
resolveStringMinLengthForType(TypeScope scope)
Determine the "minLength" of a context-independent type representation.String
resolveStringPattern(FieldScope field)
Determine the "pattern" of an object's field/property.String
resolveStringPattern(MethodScope method)
Determine the "pattern" of a method's return value.String
resolveStringPatternForType(TypeScope scope)
Determine the "pattern" of a context-independent type representation.List<com.fasterxml.classmate.ResolvedType>
resolveSubtypes(com.fasterxml.classmate.ResolvedType javaType, SchemaGenerationContext context)
Look-up a declared type's subtypes in order to list those specifically (in anSchemaKeyword.TAG_ANYOF
).List<com.fasterxml.classmate.ResolvedType>
resolveTargetTypeOverrides(FieldScope field)
Determine the alternative target types from an object's field/property.List<com.fasterxml.classmate.ResolvedType>
resolveTargetTypeOverrides(MethodScope method)
Determine the alternative target types from a method's return value.String
resolveTitle(FieldScope field)
Determine the "title" of an object's field/property.String
resolveTitle(MethodScope method)
Determine the "title" of a method's return value.String
resolveTitleForType(TypeScope scope)
Determine the "title" of a context-independent type representation.boolean
shouldAllowNullableArrayItems()
Determine whether "fake" container/array items should be subject to the same nullable checks as the actual declared member type.boolean
shouldCleanupUnnecessaryAllOfElements()
Determine whether unnecessarySchemaKeyword.TAG_ALLOF
elements should be removed and merged into their declaring schema when there are no conflicts between the sub-schemas.boolean
shouldCreateDefinitionForMainSchema()
Determine whether the schema for the target/main type should be included alongside any "definitions"/"$defs" and be referenced via"$ref": "#"
if necessary.boolean
shouldCreateDefinitionsForAllObjects()
Determine whether all referenced objects should be listed in the schema's "definitions"/"$defs", even if they only occur once.boolean
shouldDeriveFieldsFromArgumentFreeMethods()
Determine whether non-void argument-free "getXyZ"/"isXyZ" methods should be represented by the respective field name "xyZ" by default.boolean
shouldIgnore(FieldScope field)
Check whether a field/property should be ignored.boolean
shouldIgnore(MethodScope method)
Check whether a method should be ignored.boolean
shouldIncludeExtraOpenApiFormatValues()
Determine whether extraSchemaKeyword.TAG_FORMAT
values should be included for "simple types".boolean
shouldIncludeSchemaVersionIndicator()
Determine whether theSchemaKeyword.TAG_SCHEMA
attribute withSchemaKeyword.TAG_SCHEMA_VALUE
should be added.boolean
shouldIncludeStaticFields()
Determine whether static fields should be included in the generated schema.boolean
shouldIncludeStaticMethods()
Determine whether static methods should be included in the generated schema.boolean
shouldInlineAllSchemas()
Determine whether all sub-schemas should be included in-line, even if they occur multiple times, and not in the schema's "definitions"/"$defs".boolean
shouldRepresentSingleAllowedValueAsConst()
Determine whether a single allowed values should be represented by aSchemaKeyword.TAG_CONST
.boolean
shouldTransparentlyResolveSubtypesOfMembers()
Determine whether a member (field/method), having a declared type for which subtypes are being detected, should be merely a collection of its subtype schemas – each being treated like the member had declared the subtype directly – or whether it should be included as standalone definition with any collected member attributes assigned directly and the subtypes only being handled as generic types.boolean
shouldUsePlainDefinitionKeys()
Determine whether theSchemaKeyword.TAG_REF
values should not just be URI compatible (as expected in JSON Schemas).int
sortProperties(MemberScope<?,?> first, MemberScope<?,?> second)
Implementation of theComparator.compare(Object, Object)
interface method to determine the order of fields and methods in an object's"properties"
.-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface com.github.victools.jsonschema.generator.SchemaGeneratorConfig
resolveTargetTypeOverride, resolveTargetTypeOverride
-
-
-
-
Constructor Detail
-
SchemaGeneratorConfigImpl
public SchemaGeneratorConfigImpl(com.fasterxml.jackson.databind.ObjectMapper objectMapper, SchemaVersion schemaVersion, Set<Option> enabledOptions, SchemaGeneratorGeneralConfigPart typesInGeneralConfigPart, SchemaGeneratorConfigPart<FieldScope> fieldConfigPart, SchemaGeneratorConfigPart<MethodScope> methodConfigPart)
Constructor of a configuration instance.- Parameters:
objectMapper
- supplier for object and array nodes for the JSON structure being generatedschemaVersion
- designated JSON Schema versionenabledOptions
- enabled settings/options (either by default or explicitly set)typesInGeneralConfigPart
- configuration part for context-independent attribute collectionfieldConfigPart
- configuration part for fieldsmethodConfigPart
- configuration part for methods
-
-
Method Detail
-
resetAfterSchemaGenerationFinished
public void resetAfterSchemaGenerationFinished()
Description copied from interface:StatefulConfig
Method being invoked after the generation of a single "main" type's schema has been completed. This enables the sameSchemaGenerator
instance to be re-used for multiple subsequent executions, even if some aspect of the configuration remembers the original "main" type.- Specified by:
resetAfterSchemaGenerationFinished
in interfaceStatefulConfig
-
getSchemaVersion
public SchemaVersion getSchemaVersion()
Description copied from interface:SchemaGeneratorConfig
Getter for the designated JSON Schema version.- Specified by:
getSchemaVersion
in interfaceSchemaGeneratorConfig
- Returns:
- target version of the JSON Schema to generate
-
getKeyword
public String getKeyword(SchemaKeyword keyword)
Description copied from interface:SchemaGeneratorConfig
Getter for the indicated keyword's value in the designated JSON Schema version.- Specified by:
getKeyword
in interfaceSchemaGeneratorConfig
- Parameters:
keyword
- reference to a tag name or value- Returns:
- referenced tag name/value in the designated schema version
- See Also:
SchemaGeneratorConfig.getSchemaVersion()
,SchemaKeyword.forVersion(SchemaVersion)
-
shouldCreateDefinitionsForAllObjects
public boolean shouldCreateDefinitionsForAllObjects()
Description copied from interface:SchemaGeneratorConfig
Determine whether all referenced objects should be listed in the schema's "definitions"/"$defs", even if they only occur once.- Specified by:
shouldCreateDefinitionsForAllObjects
in interfaceSchemaGeneratorConfig
- Returns:
- whether to add a definition even for objects occurring only once
-
shouldCreateDefinitionForMainSchema
public boolean shouldCreateDefinitionForMainSchema()
Description copied from interface:SchemaGeneratorConfig
Determine whether the schema for the target/main type should be included alongside any "definitions"/"$defs" and be referenced via"$ref": "#"
if necessary. Otherwise, it may be moved into the "definitions"/"$defs" like any other subschema.- Specified by:
shouldCreateDefinitionForMainSchema
in interfaceSchemaGeneratorConfig
- Returns:
- whether to allow "$ref"-erences to the empty fragment "#"
-
shouldTransparentlyResolveSubtypesOfMembers
public boolean shouldTransparentlyResolveSubtypesOfMembers()
Description copied from interface:SchemaGeneratorConfig
Determine whether a member (field/method), having a declared type for which subtypes are being detected, should be merely a collection of its subtype schemas – each being treated like the member had declared the subtype directly – or whether it should be included as standalone definition with any collected member attributes assigned directly and the subtypes only being handled as generic types.- Specified by:
shouldTransparentlyResolveSubtypesOfMembers
in interfaceSchemaGeneratorConfig
- Returns:
- whether to produce sub-schema for each subtype of a member's declared type, like the member had declared that subtype instead
-
shouldInlineAllSchemas
public boolean shouldInlineAllSchemas()
Description copied from interface:SchemaGeneratorConfig
Determine whether all sub-schemas should be included in-line, even if they occur multiple times, and not in the schema's "definitions"/"$defs".- Specified by:
shouldInlineAllSchemas
in interfaceSchemaGeneratorConfig
- Returns:
- whether to include all sub-schemas in-line
-
shouldUsePlainDefinitionKeys
public boolean shouldUsePlainDefinitionKeys()
Description copied from interface:SchemaGeneratorConfig
Determine whether theSchemaKeyword.TAG_REF
values should not just be URI compatible (as expected in JSON Schemas). It should further respect the reduced set of characters as per the following regular expression (as expected by OpenAPI):^[a-zA-Z0-9\.\-_]+$
- Specified by:
shouldUsePlainDefinitionKeys
in interfaceSchemaGeneratorConfig
- Returns:
- whether to use only alphanumeric characters, dots, dashes and underscores in
SchemaKeyword.TAG_REF
values
-
shouldIncludeExtraOpenApiFormatValues
public boolean shouldIncludeExtraOpenApiFormatValues()
Description copied from interface:SchemaGeneratorConfig
Determine whether extraSchemaKeyword.TAG_FORMAT
values should be included for "simple types".- Specified by:
shouldIncludeExtraOpenApiFormatValues
in interfaceSchemaGeneratorConfig
- Returns:
- whether to include extra
SchemaKeyword.TAG_FORMAT
values
-
shouldCleanupUnnecessaryAllOfElements
public boolean shouldCleanupUnnecessaryAllOfElements()
Description copied from interface:SchemaGeneratorConfig
Determine whether unnecessarySchemaKeyword.TAG_ALLOF
elements should be removed and merged into their declaring schema when there are no conflicts between the sub-schemas.- Specified by:
shouldCleanupUnnecessaryAllOfElements
in interfaceSchemaGeneratorConfig
- Returns:
- whether to clean-up
SchemaKeyword.TAG_ALLOF
elements as the last step during schema generation
-
shouldIncludeStaticFields
public boolean shouldIncludeStaticFields()
Description copied from interface:SchemaGeneratorConfig
Determine whether static fields should be included in the generated schema.- Specified by:
shouldIncludeStaticFields
in interfaceSchemaGeneratorConfig
- Returns:
- whether to include static fields
-
shouldIncludeStaticMethods
public boolean shouldIncludeStaticMethods()
Description copied from interface:SchemaGeneratorConfig
Determine whether static methods should be included in the generated schema.- Specified by:
shouldIncludeStaticMethods
in interfaceSchemaGeneratorConfig
- Returns:
- whether to included static methods
-
shouldDeriveFieldsFromArgumentFreeMethods
public boolean shouldDeriveFieldsFromArgumentFreeMethods()
Description copied from interface:SchemaGeneratorConfig
Determine whether non-void argument-free "getXyZ"/"isXyZ" methods should be represented by the respective field name "xyZ" by default.- Specified by:
shouldDeriveFieldsFromArgumentFreeMethods
in interfaceSchemaGeneratorConfig
- Returns:
- whether to treat argument-free methods as fields in schema
-
shouldRepresentSingleAllowedValueAsConst
public boolean shouldRepresentSingleAllowedValueAsConst()
Description copied from interface:SchemaGeneratorConfig
Determine whether a single allowed values should be represented by aSchemaKeyword.TAG_CONST
. Otherwise aSchemaKeyword.TAG_ENUM
will be used even for a single allowed value.- Specified by:
shouldRepresentSingleAllowedValueAsConst
in interfaceSchemaGeneratorConfig
- Returns:
- whether to automatically make use of the
"const"
keyword
-
shouldAllowNullableArrayItems
public boolean shouldAllowNullableArrayItems()
Description copied from interface:SchemaGeneratorConfig
Determine whether "fake" container/array items should be subject to the same nullable checks as the actual declared member type.- Specified by:
shouldAllowNullableArrayItems
in interfaceSchemaGeneratorConfig
- Returns:
- whether to perform nullable checks for "fake" container/array item typees
-
shouldIncludeSchemaVersionIndicator
public boolean shouldIncludeSchemaVersionIndicator()
Description copied from interface:SchemaGeneratorConfig
Determine whether theSchemaKeyword.TAG_SCHEMA
attribute withSchemaKeyword.TAG_SCHEMA_VALUE
should be added.- Specified by:
shouldIncludeSchemaVersionIndicator
in interfaceSchemaGeneratorConfig
- Returns:
- whether to add the schema version attribute
-
getObjectMapper
public com.fasterxml.jackson.databind.ObjectMapper getObjectMapper()
Description copied from interface:SchemaGeneratorConfig
Getter for the underlying object mapper.- Specified by:
getObjectMapper
in interfaceSchemaGeneratorConfig
- Returns:
- object mapper being used for generating JSON Schema structure
-
createObjectNode
public com.fasterxml.jackson.databind.node.ObjectNode createObjectNode()
Description copied from interface:SchemaGeneratorConfig
Generate an empty JSON node representing an object (which will subsequently be filled by the generator).
This is equivalent to callinggetObjectMapper().createObjectNode()
- Specified by:
createObjectNode
in interfaceSchemaGeneratorConfig
- Returns:
- JSON object node
-
createArrayNode
public com.fasterxml.jackson.databind.node.ArrayNode createArrayNode()
Description copied from interface:SchemaGeneratorConfig
Generate an empty JSON node representing an array (which will subsequently be filled by the generator).
This is equivalent to callinggetObjectMapper().createArrayNode()
- Specified by:
createArrayNode
in interfaceSchemaGeneratorConfig
- Returns:
- JSON array node
-
sortProperties
public int sortProperties(MemberScope<?,?> first, MemberScope<?,?> second)
Description copied from interface:SchemaGeneratorConfig
Implementation of theComparator.compare(Object, Object)
interface method to determine the order of fields and methods in an object's"properties"
.- Specified by:
sortProperties
in interfaceSchemaGeneratorConfig
- Parameters:
first
- first field/method to compare tosecond
second
- second field/method to compare tofirst
- Returns:
- a negative/positive integer as the first field/method should be positioned before/after the second respectively
-
getDefinitionNamingStrategy
public SchemaDefinitionNamingStrategy getDefinitionNamingStrategy()
Description copied from interface:SchemaGeneratorConfig
Getter for the naming strategy to be applied when determining key names in the "definitions"/"$defs".- Specified by:
getDefinitionNamingStrategy
in interfaceSchemaGeneratorConfig
- Returns:
- definition key naming strategy
-
getCustomDefinition
public <M extends MemberScope<?,?>> CustomPropertyDefinition getCustomDefinition(M scope, SchemaGenerationContext context, CustomPropertyDefinitionProvider<M> ignoredDefinitionProvider)
Description copied from interface:SchemaGeneratorConfig
Look-up the non-standard JSON schema definition for a given property. Falling-back on the per-type custom definitions.- Specified by:
getCustomDefinition
in interfaceSchemaGeneratorConfig
- Type Parameters:
M
- type of targeted property- Parameters:
scope
- targeted scope for which to provide a custom definitioncontext
- generation context allowing to let the standard generation take over nested parts of the custom definitionignoredDefinitionProvider
- custom definition provider to ignore- Returns:
- non-standard JSON schema definition for the given field/method (may be null)
- See Also:
SchemaGeneratorConfig.getCustomDefinition(ResolvedType, SchemaGenerationContext, CustomDefinitionProviderV2)
-
getCustomDefinition
public CustomDefinition getCustomDefinition(com.fasterxml.classmate.ResolvedType javaType, SchemaGenerationContext context, CustomDefinitionProviderV2 ignoredDefinitionProvider)
Description copied from interface:SchemaGeneratorConfig
Look-up the non-standard JSON schema definition for a given type. If this returns null, the standard behaviour is expected to be applied.- Specified by:
getCustomDefinition
in interfaceSchemaGeneratorConfig
- Parameters:
javaType
- generic type to provide custom definition forcontext
- generation context allowing to let the standard generation take over nested parts of the custom definitionignoredDefinitionProvider
- custom definition provider to ignore- Returns:
- non-standard JSON schema definition (may be null)
-
resolveSubtypes
public List<com.fasterxml.classmate.ResolvedType> resolveSubtypes(com.fasterxml.classmate.ResolvedType javaType, SchemaGenerationContext context)
Description copied from interface:SchemaGeneratorConfig
Look-up a declared type's subtypes in order to list those specifically (in anSchemaKeyword.TAG_ANYOF
).- Specified by:
resolveSubtypes
in interfaceSchemaGeneratorConfig
- Parameters:
javaType
- declared type to look-up subtypes forcontext
- generation context (including a reference to theTypeContext
for deriving aResolvedType
from aClass
)- Returns:
- subtypes to list as possible alternatives for the declared type (may be empty)
-
getTypeAttributeOverrides
public List<TypeAttributeOverrideV2> getTypeAttributeOverrides()
Description copied from interface:SchemaGeneratorConfig
Getter for the applicable type attribute overrides.- Specified by:
getTypeAttributeOverrides
in interfaceSchemaGeneratorConfig
- Returns:
- overrides of a given JSON Schema node's type attributes
-
getFieldAttributeOverrides
public List<InstanceAttributeOverrideV2<FieldScope>> getFieldAttributeOverrides()
Description copied from interface:SchemaGeneratorConfig
Getter for the applicable instance attribute overrides for fields.- Specified by:
getFieldAttributeOverrides
in interfaceSchemaGeneratorConfig
- Returns:
- overrides of a given JSON Schema node's instance attributes
-
getMethodAttributeOverrides
public List<InstanceAttributeOverrideV2<MethodScope>> getMethodAttributeOverrides()
Description copied from interface:SchemaGeneratorConfig
Getter for the applicable instance attribute overrides for methods.- Specified by:
getMethodAttributeOverrides
in interfaceSchemaGeneratorConfig
- Returns:
- overrides of a given JSON Schema node's instance attributes
-
isNullable
public boolean isNullable(FieldScope field)
Description copied from interface:SchemaGeneratorConfig
Check whether a field/property is nullable.- Specified by:
isNullable
in interfaceSchemaGeneratorConfig
- Parameters:
field
- object's field/property to check- Returns:
- whether the field/property is nullable
-
isNullable
public boolean isNullable(MethodScope method)
Description copied from interface:SchemaGeneratorConfig
Check whether a method's return value is nullable.- Specified by:
isNullable
in interfaceSchemaGeneratorConfig
- Parameters:
method
- method to check- Returns:
- whether the method's return value is nullable
-
shouldIgnore
public boolean shouldIgnore(FieldScope field)
Description copied from interface:SchemaGeneratorConfig
Check whether a field/property should be ignored.- Specified by:
shouldIgnore
in interfaceSchemaGeneratorConfig
- Parameters:
field
- object's field/property to check- Returns:
- whether the field/property should be ignored
-
shouldIgnore
public boolean shouldIgnore(MethodScope method)
Description copied from interface:SchemaGeneratorConfig
Check whether a method should be ignored.- Specified by:
shouldIgnore
in interfaceSchemaGeneratorConfig
- Parameters:
method
- method to check- Returns:
- whether the method should be ignored
-
isRequired
public boolean isRequired(FieldScope field)
Description copied from interface:SchemaGeneratorConfig
Check whether a field/property value is required.- Specified by:
isRequired
in interfaceSchemaGeneratorConfig
- Parameters:
field
- object's field/property to check- Returns:
- whether the field/property value should be required
-
isRequired
public boolean isRequired(MethodScope method)
Description copied from interface:SchemaGeneratorConfig
Check whether a method value is required.- Specified by:
isRequired
in interfaceSchemaGeneratorConfig
- Parameters:
method
- method to check- Returns:
- whether the method value should be required
-
isReadOnly
public boolean isReadOnly(FieldScope field)
Description copied from interface:SchemaGeneratorConfig
Check whether a field/property value is deemed read-only, i.e., may be ignored or rejected when included in a request.- Specified by:
isReadOnly
in interfaceSchemaGeneratorConfig
- Parameters:
field
- object's field/property to check- Returns:
- whether the field/property value should be read-only
-
isReadOnly
public boolean isReadOnly(MethodScope method)
Description copied from interface:SchemaGeneratorConfig
Check whether a method value is deemed read-only, i.e., may be ignored or rejected when included in a request.- Specified by:
isReadOnly
in interfaceSchemaGeneratorConfig
- Parameters:
method
- method to check- Returns:
- whether the method value should be read-only
-
isWriteOnly
public boolean isWriteOnly(FieldScope field)
Description copied from interface:SchemaGeneratorConfig
Check whether a field/property value is deemed write-only, i.e., is not being returned in responses.- Specified by:
isWriteOnly
in interfaceSchemaGeneratorConfig
- Parameters:
field
- object's field/property to check- Returns:
- whether the field/property value should be write-only
-
isWriteOnly
public boolean isWriteOnly(MethodScope method)
Description copied from interface:SchemaGeneratorConfig
Check whether a method value is deemed write-only, i.e., is not being returned in responses.- Specified by:
isWriteOnly
in interfaceSchemaGeneratorConfig
- Parameters:
method
- method to check- Returns:
- whether the method value should be write-only
-
resolveTargetTypeOverrides
public List<com.fasterxml.classmate.ResolvedType> resolveTargetTypeOverrides(FieldScope field)
Description copied from interface:SchemaGeneratorConfig
Determine the alternative target types from an object's field/property.- Specified by:
resolveTargetTypeOverrides
in interfaceSchemaGeneratorConfig
- Parameters:
field
- object's field/property to determine the target type for- Returns:
- target types (may be null or empty)
-
resolveTargetTypeOverrides
public List<com.fasterxml.classmate.ResolvedType> resolveTargetTypeOverrides(MethodScope method)
Description copied from interface:SchemaGeneratorConfig
Determine the alternative target types from a method's return value.- Specified by:
resolveTargetTypeOverrides
in interfaceSchemaGeneratorConfig
- Parameters:
method
- method for whose return value to determine the target type for- Returns:
- target types (may be null or empty)
-
resolvePropertyNameOverride
public String resolvePropertyNameOverride(FieldScope field)
Description copied from interface:SchemaGeneratorConfig
Determine the alternative name in a parent JSON Schema's "properties" from an object's field/property.- Specified by:
resolvePropertyNameOverride
in interfaceSchemaGeneratorConfig
- Parameters:
field
- object's field/property to determine name in parent JSON Schema's properties for- Returns:
- name in a parent JSON Schema's "properties" (may be null, thereby falling back on the default value)
-
resolvePropertyNameOverride
public String resolvePropertyNameOverride(MethodScope method)
Description copied from interface:SchemaGeneratorConfig
Determine the alternative name in a parent JSON Schema's "properties" from a method's return value.- Specified by:
resolvePropertyNameOverride
in interfaceSchemaGeneratorConfig
- Parameters:
method
- method for whose return value to determine name in parent JSON Schema's properties for- Returns:
- name in a parent JSON Schema's "properties" (may be null, thereby falling back on the default value)
-
resolveIdForType
public String resolveIdForType(TypeScope scope)
Description copied from interface:SchemaGeneratorConfig
Determine the "$id" of a context-independent type representation.- Specified by:
resolveIdForType
in interfaceSchemaGeneratorConfig
- Parameters:
scope
- context-independent type representation to determine "$id" value for- Returns:
- "$id" in a JSON Schema (may be null)
-
resolveAnchorForType
public String resolveAnchorForType(TypeScope scope)
Description copied from interface:SchemaGeneratorConfig
Determine the "$anchor" of a context-independent type representation.- Specified by:
resolveAnchorForType
in interfaceSchemaGeneratorConfig
- Parameters:
scope
- context-independent type representation to determine "$anchor" value for- Returns:
- "$anchor" in a JSON Schema (may be null)
-
resolveTitle
public String resolveTitle(FieldScope field)
Description copied from interface:SchemaGeneratorConfig
Determine the "title" of an object's field/property.- Specified by:
resolveTitle
in interfaceSchemaGeneratorConfig
- Parameters:
field
- object's field/property to determine "title" value for- Returns:
- "title" in a JSON Schema (may be null)
-
resolveTitle
public String resolveTitle(MethodScope method)
Description copied from interface:SchemaGeneratorConfig
Determine the "title" of a method's return value.- Specified by:
resolveTitle
in interfaceSchemaGeneratorConfig
- Parameters:
method
- method for whose return value to determine "title" value for- Returns:
- "title" in a JSON Schema (may be null)
-
resolveTitleForType
public String resolveTitleForType(TypeScope scope)
Description copied from interface:SchemaGeneratorConfig
Determine the "title" of a context-independent type representation.- Specified by:
resolveTitleForType
in interfaceSchemaGeneratorConfig
- Parameters:
scope
- context-independent type representation to determine "title" value for- Returns:
- "title" in a JSON Schema (may be null)
-
resolveDescription
public String resolveDescription(FieldScope field)
Description copied from interface:SchemaGeneratorConfig
Determine the "description" of an object's field/property.- Specified by:
resolveDescription
in interfaceSchemaGeneratorConfig
- Parameters:
field
- object's field/property to determine "description" value for- Returns:
- "description" in a JSON Schema (may be null)
-
resolveDescription
public String resolveDescription(MethodScope method)
Description copied from interface:SchemaGeneratorConfig
Determine the "description" of a method's return value.- Specified by:
resolveDescription
in interfaceSchemaGeneratorConfig
- Parameters:
method
- method for whose return value to determine "description" value for- Returns:
- "description" in a JSON Schema (may be null)
-
resolveDescriptionForType
public String resolveDescriptionForType(TypeScope scope)
Description copied from interface:SchemaGeneratorConfig
Determine the "description" of a context-independent type representation.- Specified by:
resolveDescriptionForType
in interfaceSchemaGeneratorConfig
- Parameters:
scope
- context-independent type representation to determine "description" value for- Returns:
- "description" in a JSON Schema (may be null)
-
resolveDefault
public Object resolveDefault(FieldScope field)
Description copied from interface:SchemaGeneratorConfig
Determine the "default" value of an object's field/property.- Specified by:
resolveDefault
in interfaceSchemaGeneratorConfig
- Parameters:
field
- object's field/property to determine "default" value for- Returns:
- "default" in a JSON Schema (may be null)
-
resolveDefault
public Object resolveDefault(MethodScope method)
Description copied from interface:SchemaGeneratorConfig
Determine the "default" value of a method's return value.- Specified by:
resolveDefault
in interfaceSchemaGeneratorConfig
- Parameters:
method
- method for whose return value to determine "default" value for- Returns:
- "default" in a JSON Schema (may be null)
-
resolveDefaultForType
public Object resolveDefaultForType(TypeScope scope)
Description copied from interface:SchemaGeneratorConfig
Determine the "default" value of a context-independent type representation.- Specified by:
resolveDefaultForType
in interfaceSchemaGeneratorConfig
- Parameters:
scope
- context-independent type representation to determine "default" value for- Returns:
- "default" in a JSON Schema (may be null)
-
resolveEnum
public Collection<?> resolveEnum(FieldScope field)
Description copied from interface:SchemaGeneratorConfig
Determine the "enum"/"const" of an object's field/property.- Specified by:
resolveEnum
in interfaceSchemaGeneratorConfig
- Parameters:
field
- object's field/property to determine "enum"/"const" value for- Returns:
- "enum"/"const" in a JSON Schema (may be null)
-
resolveEnum
public Collection<?> resolveEnum(MethodScope method)
Description copied from interface:SchemaGeneratorConfig
Determine the "enum"/"const" of a method's return value.- Specified by:
resolveEnum
in interfaceSchemaGeneratorConfig
- Parameters:
method
- method for whose return value to determine "enum"/"const" value for- Returns:
- "enum"/"const" in a JSON Schema (may be null)
-
resolveEnumForType
public Collection<?> resolveEnumForType(TypeScope scope)
Description copied from interface:SchemaGeneratorConfig
Determine the "enum"/"const" of a context-independent type representation.- Specified by:
resolveEnumForType
in interfaceSchemaGeneratorConfig
- Parameters:
scope
- context-independent type representation to determine "enum"/"const" value for- Returns:
- "enum"/"const" in a JSON Schema (may be null)
-
resolveAdditionalProperties
public com.fasterxml.jackson.databind.JsonNode resolveAdditionalProperties(FieldScope field, SchemaGenerationContext context)
Description copied from interface:SchemaGeneratorConfig
Determine the "additionalProperties" of an object's field/property.- Specified by:
resolveAdditionalProperties
in interfaceSchemaGeneratorConfig
- Parameters:
field
- object's field/property to determine "additionalProperties" value forcontext
- generation context allowing to let the standard generation take over nested parts of the custom definition- Returns:
- "additionalProperties" in a JSON Schema (may be
Void
) to indicate no additional properties being allowed or may be null)
-
resolveAdditionalProperties
public com.fasterxml.jackson.databind.JsonNode resolveAdditionalProperties(MethodScope method, SchemaGenerationContext context)
Description copied from interface:SchemaGeneratorConfig
Determine the "additionalProperties" of a method's return value.- Specified by:
resolveAdditionalProperties
in interfaceSchemaGeneratorConfig
- Parameters:
method
- method for whose return value to determine "additionalProperties" value forcontext
- generation context allowing to let the standard generation take over nested parts of the custom definition- Returns:
- "additionalProperties" in a JSON Schema (may be
Void
) to indicate no additional properties being allowed or may be null)
-
resolveAdditionalPropertiesForType
public com.fasterxml.jackson.databind.JsonNode resolveAdditionalPropertiesForType(TypeScope scope, SchemaGenerationContext context)
Description copied from interface:SchemaGeneratorConfig
Determine the "additionalProperties" of a context-independent type representation.- Specified by:
resolveAdditionalPropertiesForType
in interfaceSchemaGeneratorConfig
- Parameters:
scope
- context-independent type representation to determine "additionalProperties" value forcontext
- generation context allowing to let the standard generation take over nested parts of the custom definition- Returns:
- "additionalProperties" in a JSON Schema (may be null)
-
resolvePatternProperties
public Map<String,com.fasterxml.jackson.databind.JsonNode> resolvePatternProperties(FieldScope field, SchemaGenerationContext context)
Description copied from interface:SchemaGeneratorConfig
Determine the "patternProperties" of an object's field/property.- Specified by:
resolvePatternProperties
in interfaceSchemaGeneratorConfig
- Parameters:
field
- object's field/property to determine "patternProperties" value forcontext
- generation context allowing to let the standard generation take over nested parts of the custom definition- Returns:
- "patternProperties" in a JSON Schema (may be null), the keys representing the patterns and the mapped values their corresponding types
-
resolvePatternProperties
public Map<String,com.fasterxml.jackson.databind.JsonNode> resolvePatternProperties(MethodScope method, SchemaGenerationContext context)
Description copied from interface:SchemaGeneratorConfig
Determine the "patternProperties" of a method's return value.- Specified by:
resolvePatternProperties
in interfaceSchemaGeneratorConfig
- Parameters:
method
- method for whose return value to determine "patternProperties" value forcontext
- generation context allowing to let the standard generation take over nested parts of the custom definition- Returns:
- "patternProperties" in a JSON Schema (may be null), the keys representing the patterns and the mapped values their corresponding types
-
resolvePatternPropertiesForType
public Map<String,com.fasterxml.jackson.databind.JsonNode> resolvePatternPropertiesForType(TypeScope scope, SchemaGenerationContext context)
Description copied from interface:SchemaGeneratorConfig
Determine the "patternProperties" of a context-independent type representation.- Specified by:
resolvePatternPropertiesForType
in interfaceSchemaGeneratorConfig
- Parameters:
scope
- context-independent type representation to determine "patternProperties" value forcontext
- generation context allowing to let the standard generation take over nested parts of the custom definition- Returns:
- "patternProperties" in a JSON Schema (may be null), the keys representing the patterns and the mapped values their corresponding types
-
resolveStringMinLength
public Integer resolveStringMinLength(FieldScope field)
Description copied from interface:SchemaGeneratorConfig
Determine the "minLength" of an object's field/property.- Specified by:
resolveStringMinLength
in interfaceSchemaGeneratorConfig
- Parameters:
field
- object's field/property to determine "minLength" value for- Returns:
- "minLength" in a JSON Schema (may be null)
-
resolveStringMinLength
public Integer resolveStringMinLength(MethodScope method)
Description copied from interface:SchemaGeneratorConfig
Determine the "minLength" of a method's return value.- Specified by:
resolveStringMinLength
in interfaceSchemaGeneratorConfig
- Parameters:
method
- method for whose return value to determine "minLength" value for- Returns:
- "minLength" in a JSON Schema (may be null)
-
resolveStringMinLengthForType
public Integer resolveStringMinLengthForType(TypeScope scope)
Description copied from interface:SchemaGeneratorConfig
Determine the "minLength" of a context-independent type representation.- Specified by:
resolveStringMinLengthForType
in interfaceSchemaGeneratorConfig
- Parameters:
scope
- context-independent type representation to determine "minLength" value for- Returns:
- "minLength" in a JSON Schema (may be null)
-
resolveStringMaxLength
public Integer resolveStringMaxLength(FieldScope field)
Description copied from interface:SchemaGeneratorConfig
Determine the "maxLength" of an object's field/property.- Specified by:
resolveStringMaxLength
in interfaceSchemaGeneratorConfig
- Parameters:
field
- object's field/property to determine "maxLength" value for- Returns:
- "maxLength" in a JSON Schema (may be null)
-
resolveStringMaxLength
public Integer resolveStringMaxLength(MethodScope method)
Description copied from interface:SchemaGeneratorConfig
Determine the "maxLength" of a method's return value.- Specified by:
resolveStringMaxLength
in interfaceSchemaGeneratorConfig
- Parameters:
method
- method for whose return value to determine "maxLength" value for- Returns:
- "maxLength" in a JSON Schema (may be null)
-
resolveStringMaxLengthForType
public Integer resolveStringMaxLengthForType(TypeScope scope)
Description copied from interface:SchemaGeneratorConfig
Determine the "maxLength" of a context-independent type representation.- Specified by:
resolveStringMaxLengthForType
in interfaceSchemaGeneratorConfig
- Parameters:
scope
- context-independent type representation to determine "maxLength" value for- Returns:
- "maxLength" in a JSON Schema (may be null)
-
resolveStringFormat
public String resolveStringFormat(FieldScope field)
Description copied from interface:SchemaGeneratorConfig
Determine the "format" of an object's field/property.- Specified by:
resolveStringFormat
in interfaceSchemaGeneratorConfig
- Parameters:
field
- object's field/property to determine "format" value for- Returns:
- "format" in a JSON Schema (may be null)
-
resolveStringFormat
public String resolveStringFormat(MethodScope method)
Description copied from interface:SchemaGeneratorConfig
Determine the "format" of a method's return value.- Specified by:
resolveStringFormat
in interfaceSchemaGeneratorConfig
- Parameters:
method
- method for whose return value to determine "format" value for- Returns:
- "format" in a JSON Schema (may be null)
-
resolveStringFormatForType
public String resolveStringFormatForType(TypeScope scope)
Description copied from interface:SchemaGeneratorConfig
Determine the "format" of a context-independent type representation.- Specified by:
resolveStringFormatForType
in interfaceSchemaGeneratorConfig
- Parameters:
scope
- context-independent type representation to determine "format" value for- Returns:
- "format" in a JSON Schema (may be null)
-
resolveStringPattern
public String resolveStringPattern(FieldScope field)
Description copied from interface:SchemaGeneratorConfig
Determine the "pattern" of an object's field/property.- Specified by:
resolveStringPattern
in interfaceSchemaGeneratorConfig
- Parameters:
field
- object's field/property to determine "pattern" value for- Returns:
- "pattern" in a JSON Schema (may be null)
-
resolveStringPattern
public String resolveStringPattern(MethodScope method)
Description copied from interface:SchemaGeneratorConfig
Determine the "pattern" of a method's return value.- Specified by:
resolveStringPattern
in interfaceSchemaGeneratorConfig
- Parameters:
method
- method for whose return value to determine "pattern" value for- Returns:
- "pattern" in a JSON Schema (may be null)
-
resolveStringPatternForType
public String resolveStringPatternForType(TypeScope scope)
Description copied from interface:SchemaGeneratorConfig
Determine the "pattern" of a context-independent type representation.- Specified by:
resolveStringPatternForType
in interfaceSchemaGeneratorConfig
- Parameters:
scope
- context-independent type representation to determine "pattern" value for- Returns:
- "pattern" in a JSON Schema (may be null)
-
resolveNumberInclusiveMinimum
public BigDecimal resolveNumberInclusiveMinimum(FieldScope field)
Description copied from interface:SchemaGeneratorConfig
Determine the "minimum" of an object's field/property.- Specified by:
resolveNumberInclusiveMinimum
in interfaceSchemaGeneratorConfig
- Parameters:
field
- object's field/property to determine "minimum" value for- Returns:
- "minimum" in a JSON Schema (may be null)
-
resolveNumberInclusiveMinimum
public BigDecimal resolveNumberInclusiveMinimum(MethodScope method)
Description copied from interface:SchemaGeneratorConfig
Determine the "minimum" of a method's return value.- Specified by:
resolveNumberInclusiveMinimum
in interfaceSchemaGeneratorConfig
- Parameters:
method
- method for whose return value to determine "minimum" value for- Returns:
- "minimum" in a JSON Schema (may be null)
-
resolveNumberInclusiveMinimumForType
public BigDecimal resolveNumberInclusiveMinimumForType(TypeScope scope)
Description copied from interface:SchemaGeneratorConfig
Determine the "minimum" of a context-independent type representation.- Specified by:
resolveNumberInclusiveMinimumForType
in interfaceSchemaGeneratorConfig
- Parameters:
scope
- context-independent type representation to determine "minimum" value for- Returns:
- "minimum" in a JSON Schema (may be null)
-
resolveNumberExclusiveMinimum
public BigDecimal resolveNumberExclusiveMinimum(FieldScope field)
Description copied from interface:SchemaGeneratorConfig
Determine the "exclusiveMinimum" of an object's field/property.- Specified by:
resolveNumberExclusiveMinimum
in interfaceSchemaGeneratorConfig
- Parameters:
field
- object's field/property to determine "exclusiveMinimum" value for- Returns:
- "exclusiveMinimum" in a JSON Schema (may be null)
-
resolveNumberExclusiveMinimum
public BigDecimal resolveNumberExclusiveMinimum(MethodScope method)
Description copied from interface:SchemaGeneratorConfig
Determine the "exclusiveMinimum" of a method's return value.- Specified by:
resolveNumberExclusiveMinimum
in interfaceSchemaGeneratorConfig
- Parameters:
method
- method for whose return value to determine "exclusiveMinimum" value for- Returns:
- "exclusiveMinimum" in a JSON Schema (may be null)
-
resolveNumberExclusiveMinimumForType
public BigDecimal resolveNumberExclusiveMinimumForType(TypeScope scope)
Description copied from interface:SchemaGeneratorConfig
Determine the "exclusiveMinimum" of a context-independent type representation.- Specified by:
resolveNumberExclusiveMinimumForType
in interfaceSchemaGeneratorConfig
- Parameters:
scope
- context-independent type representation to determine "exclusiveMinimum" value for- Returns:
- "exclusiveMinimum" in a JSON Schema (may be null)
-
resolveNumberInclusiveMaximum
public BigDecimal resolveNumberInclusiveMaximum(FieldScope field)
Description copied from interface:SchemaGeneratorConfig
Determine the "maximum" of an object's field/property.- Specified by:
resolveNumberInclusiveMaximum
in interfaceSchemaGeneratorConfig
- Parameters:
field
- object's field/property to determine "maximum" value for- Returns:
- "maximum" in a JSON Schema (may be null)
-
resolveNumberInclusiveMaximum
public BigDecimal resolveNumberInclusiveMaximum(MethodScope method)
Description copied from interface:SchemaGeneratorConfig
Determine the "maximum" of a method's return value.- Specified by:
resolveNumberInclusiveMaximum
in interfaceSchemaGeneratorConfig
- Parameters:
method
- method for whose return value to determine "maximum" value for- Returns:
- "maximum" in a JSON Schema (may be null)
-
resolveNumberInclusiveMaximumForType
public BigDecimal resolveNumberInclusiveMaximumForType(TypeScope scope)
Description copied from interface:SchemaGeneratorConfig
Determine the "maximum" of a context-independent type representation.- Specified by:
resolveNumberInclusiveMaximumForType
in interfaceSchemaGeneratorConfig
- Parameters:
scope
- context-independent type representation to determine "maximum" value for- Returns:
- "maximum" in a JSON Schema (may be null)
-
resolveNumberExclusiveMaximum
public BigDecimal resolveNumberExclusiveMaximum(FieldScope field)
Description copied from interface:SchemaGeneratorConfig
Determine the "exclusiveMaximum" of an object's field/property.- Specified by:
resolveNumberExclusiveMaximum
in interfaceSchemaGeneratorConfig
- Parameters:
field
- object's field/property to determine "exclusiveMaximum" value for- Returns:
- "exclusiveMaximum" in a JSON Schema (may be null)
-
resolveNumberExclusiveMaximum
public BigDecimal resolveNumberExclusiveMaximum(MethodScope method)
Description copied from interface:SchemaGeneratorConfig
Determine the "exclusiveMaximum" of a method's return value.- Specified by:
resolveNumberExclusiveMaximum
in interfaceSchemaGeneratorConfig
- Parameters:
method
- method for whose return value to determine "exclusiveMaximum" value for- Returns:
- "exclusiveMaximum" in a JSON Schema (may be null)
-
resolveNumberExclusiveMaximumForType
public BigDecimal resolveNumberExclusiveMaximumForType(TypeScope scope)
Description copied from interface:SchemaGeneratorConfig
Determine the "exclusiveMaximum" of a context-independent type representation.- Specified by:
resolveNumberExclusiveMaximumForType
in interfaceSchemaGeneratorConfig
- Parameters:
scope
- context-independent type representation to determine "exclusiveMaximum" value for- Returns:
- "exclusiveMaximum" in a JSON Schema (may be null)
-
resolveNumberMultipleOf
public BigDecimal resolveNumberMultipleOf(FieldScope field)
Description copied from interface:SchemaGeneratorConfig
Determine the "multipleOf" of an object's field/property.- Specified by:
resolveNumberMultipleOf
in interfaceSchemaGeneratorConfig
- Parameters:
field
- object's field/property to determine "multipleOf" value for- Returns:
- "multipleOf" in a JSON Schema (may be null)
-
resolveNumberMultipleOf
public BigDecimal resolveNumberMultipleOf(MethodScope method)
Description copied from interface:SchemaGeneratorConfig
Determine the "multipleOf" of a method's return value.- Specified by:
resolveNumberMultipleOf
in interfaceSchemaGeneratorConfig
- Parameters:
method
- method for whose return value to determine "multipleOf" value for- Returns:
- "multipleOf" in a JSON Schema (may be null)
-
resolveNumberMultipleOfForType
public BigDecimal resolveNumberMultipleOfForType(TypeScope scope)
Description copied from interface:SchemaGeneratorConfig
Determine the "multipleOf" of a context-independent type representation.- Specified by:
resolveNumberMultipleOfForType
in interfaceSchemaGeneratorConfig
- Parameters:
scope
- context-independent type representation to determine "multipleOf" value for- Returns:
- "multipleOf" in a JSON Schema (may be null)
-
resolveArrayMinItems
public Integer resolveArrayMinItems(FieldScope field)
Description copied from interface:SchemaGeneratorConfig
Determine the "minItems" of an object's field/property.- Specified by:
resolveArrayMinItems
in interfaceSchemaGeneratorConfig
- Parameters:
field
- object's field/property to determine "minItems" value for- Returns:
- "minItems" in a JSON Schema (may be null)
-
resolveArrayMinItems
public Integer resolveArrayMinItems(MethodScope method)
Description copied from interface:SchemaGeneratorConfig
Determine the "minItems" of a method's return value.- Specified by:
resolveArrayMinItems
in interfaceSchemaGeneratorConfig
- Parameters:
method
- method for whose return value to determine "minItems" value for- Returns:
- "minItems" in a JSON Schema (may be null)
-
resolveArrayMinItemsForType
public Integer resolveArrayMinItemsForType(TypeScope scope)
Description copied from interface:SchemaGeneratorConfig
Determine the "minItems" of a context-independent type representation.- Specified by:
resolveArrayMinItemsForType
in interfaceSchemaGeneratorConfig
- Parameters:
scope
- context-independent type representation to determine "minItems" value for- Returns:
- "minItems" in a JSON Schema (may be null)
-
resolveArrayMaxItems
public Integer resolveArrayMaxItems(FieldScope field)
Description copied from interface:SchemaGeneratorConfig
Determine the "maxItems" of an object's field/property.- Specified by:
resolveArrayMaxItems
in interfaceSchemaGeneratorConfig
- Parameters:
field
- object's field/property to determine "maxItems" value for- Returns:
- "maxItems" in a JSON Schema (may be null)
-
resolveArrayMaxItems
public Integer resolveArrayMaxItems(MethodScope method)
Description copied from interface:SchemaGeneratorConfig
Determine the "maxItems" of a method's return value.- Specified by:
resolveArrayMaxItems
in interfaceSchemaGeneratorConfig
- Parameters:
method
- method for whose return value to determine "maxItems" value for- Returns:
- "maxItems" in a JSON Schema (may be null)
-
resolveArrayMaxItemsForType
public Integer resolveArrayMaxItemsForType(TypeScope scope)
Description copied from interface:SchemaGeneratorConfig
Determine the "maxItems" of a context-independent type representation.- Specified by:
resolveArrayMaxItemsForType
in interfaceSchemaGeneratorConfig
- Parameters:
scope
- context-independent type representation to determine "maxItems" value for- Returns:
- "maxItems" in a JSON Schema (may be null)
-
resolveArrayUniqueItems
public Boolean resolveArrayUniqueItems(FieldScope field)
Description copied from interface:SchemaGeneratorConfig
Determine the "uniqueItems" of an object's field/property.- Specified by:
resolveArrayUniqueItems
in interfaceSchemaGeneratorConfig
- Parameters:
field
- object's field/property to determine "uniqueItems" value for- Returns:
- "uniqueItems" in a JSON Schema (may be null)
-
resolveArrayUniqueItems
public Boolean resolveArrayUniqueItems(MethodScope method)
Description copied from interface:SchemaGeneratorConfig
Determine the "uniqueItems" of a method's return value.- Specified by:
resolveArrayUniqueItems
in interfaceSchemaGeneratorConfig
- Parameters:
method
- method for whose return value to determine "uniqueItems" value for- Returns:
- "uniqueItems" in a JSON Schema (may be null)
-
resolveArrayUniqueItemsForType
public Boolean resolveArrayUniqueItemsForType(TypeScope scope)
Description copied from interface:SchemaGeneratorConfig
Determine the "uniqueItems" of a context-independent type representation.- Specified by:
resolveArrayUniqueItemsForType
in interfaceSchemaGeneratorConfig
- Parameters:
scope
- context-independent type representation to determine "uniqueItems" value for- Returns:
- "uniqueItems" in a JSON Schema (may be null)
-
-