@Override
    public void applyToConfigBuilder(SchemaGeneratorConfigBuilder builder) {
        this.objectMapper = builder.getObjectMapper();
        SchemaGeneratorConfigPart<FieldScope> fieldConfigPart = builder.forFields();
        SchemaGeneratorConfigPart<MethodScope> methodConfigPart = builder.forMethods();

        this.applyToConfigBuilderPart(fieldConfigPart);
        this.applyToConfigBuilderPart(methodConfigPart);

        fieldConfigPart.withIgnoreCheck(this::shouldIgnoreField);
        methodConfigPart.withIgnoreCheck(this::shouldIgnoreMethod);
        if (!this.options.contains(JacksonOption.IGNORE_PROPERTY_NAMING_STRATEGY)) {
            // only consider @JsonNaming as fall-back
            fieldConfigPart.withPropertyNameOverrideResolver(this::getPropertyNameOverrideBasedOnJsonNamingAnnotation);
        }

        SchemaGeneratorGeneralConfigPart generalConfigPart = builder.forTypesInGeneral();
        generalConfigPart.withDescriptionResolver(this::resolveDescriptionForType);

        boolean considerEnumJsonValue = this.options.contains(JacksonOption.FLATTENED_ENUMS_FROM_JSONVALUE);
        boolean considerEnumJsonProperty = this.options.contains(JacksonOption.FLATTENED_ENUMS_FROM_JSONPROPERTY);
        if (considerEnumJsonValue || considerEnumJsonProperty) {
            generalConfigPart.withCustomDefinitionProvider(new CustomEnumDefinitionProvider(considerEnumJsonValue, considerEnumJsonProperty));
        }

        if (this.options.contains(JacksonOption.RESPECT_JSONPROPERTY_ORDER)) {
            generalConfigPart.withPropertySorter(new JsonPropertySorter(true));
        }
        if (this.options.contains(JacksonOption.JSONIDENTITY_REFERENCE_ALWAYS_AS_ID)) {
            JsonIdentityReferenceDefinitionProvider identityReferenceDefinitionProvider = new JsonIdentityReferenceDefinitionProvider();
            generalConfigPart.withCustomDefinitionProvider(identityReferenceDefinitionProvider);
            fieldConfigPart.withCustomDefinitionProvider(identityReferenceDefinitionProvider::provideCustomPropertySchemaDefinition);
            methodConfigPart.withCustomDefinitionProvider(identityReferenceDefinitionProvider::provideCustomPropertySchemaDefinition);
        }

        applySubtypeResolverToConfigBuilder(generalConfigPart, fieldConfigPart, methodConfigPart);

        generalConfigPart.withCustomDefinitionProvider(new JsonUnwrappedDefinitionProvider());
    }
Constructor.

@param options features to enable
jsonschema-module-jackson/src/main/java/com/github/victools/jsonschema/module/jackson/JacksonModule.java