Class GenericAwareJavaCodegen

java.lang.Object
org.openapitools.codegen.DefaultCodegen
org.openapitools.codegen.languages.AbstractJavaCodegen
org.openapitools.codegen.languages.JavaClientCodegen
io.github.blueprintplatform.openapi.generics.codegen.GenericAwareJavaCodegen
All Implemented Interfaces:
org.openapitools.codegen.CodegenConfig, org.openapitools.codegen.languages.features.BeanValidationFeatures, org.openapitools.codegen.languages.features.DocumentationProviderFeatures, org.openapitools.codegen.languages.features.GzipFeatures, org.openapitools.codegen.languages.features.PerformBeanValidationFeatures

public class GenericAwareJavaCodegen extends org.openapitools.codegen.languages.JavaClientCodegen
A custom OpenAPI Generator that introduces awareness of platform-level generic models.

Models marked with x-ignore-model: true are:

This ensures that:

  • Platform-owned generic types (e.g. ServiceResponse, Meta, Sort) are not generated
  • But still usable as referenced types in composed/generated models

Design Principle:
Java contract is the authority, OpenAPI is a projection. This generator enforces that projection must not re-materialize platform-owned types.

  • Nested Class Summary

    Nested classes/interfaces inherited from class org.openapitools.codegen.languages.AbstractJavaCodegen

    org.openapitools.codegen.languages.AbstractJavaCodegen.ENUM_PROPERTY_NAMING_TYPE

    Nested classes/interfaces inherited from interface org.openapitools.codegen.languages.features.DocumentationProviderFeatures

    org.openapitools.codegen.languages.features.DocumentationProviderFeatures.AnnotationLibrary, org.openapitools.codegen.languages.features.DocumentationProviderFeatures.DocumentationProvider
  • Field Summary

    Fields inherited from class org.openapitools.codegen.languages.JavaClientCodegen

    APACHE, ASYNC_NATIVE, asyncNative, authFolder, CASE_INSENSITIVE_RESPONSE_HEADERS, caseInsensitiveResponseHeaders, CONFIG_KEY, CONFIG_KEY_FROM_CLASS_NAME, configKey, configKeyFromClassName, DO_NOT_USE_RX, doNotUseRx, DYNAMIC_OPERATIONS, dynamicOperations, ERROR_OBJECT_TYPE, errorObjectType, FAIL_ON_UNKNOWN_PROPERTIES, failOnUnknownProperties, FEIGN, FEIGN_HC5, GENERATE_CLIENT_AS_BEAN, generateClientAsBean, GOOGLE_API_CLIENT, GRADLE_PROPERTIES, gradleProperties, gradleWrapperPackage, JAVA_17, JERSEY2, JERSEY3, maxAttemptsForRetry, MICROPROFILE, MICROPROFILE_DEFAULT, MICROPROFILE_FRAMEWORK, MICROPROFILE_GLOBAL_EXCEPTION_MAPPER, MICROPROFILE_KUMULUZEE, MICROPROFILE_MUTINY, MICROPROFILE_REGISTER_EXCEPTION_MAPPER, MICROPROFILE_REST_CLIENT_DEFAULT_ROOT_PACKAGE, MICROPROFILE_REST_CLIENT_DEFAULT_VERSION, MICROPROFILE_REST_CLIENT_VERSION, microprofileFramework, microProfileGlobalExceptionMapper, microprofileMutiny, microProfileRegisterExceptionMapper, microprofileRestClientVersion, mpRestClientVersions, NATIVE, OKHTTP_GSON, PARCELABLE_MODEL, parcelableModel, performBeanValidation, REST_ASSURED, RESTCLIENT, RESTEASY, RESTTEMPLATE, RETROFIT_2, rootJavaEEPackage, SERIALIZATION_LIBRARY_GSON, SERIALIZATION_LIBRARY_JACKSON, SERIALIZATION_LIBRARY_JSONB, serializationLibrary, SINGLE_REQUEST_PARAMETER, STATIC_REQUEST, SUPPORT_STREAMING, SUPPORT_URL_QUERY, SUPPORT_VERTX_FUTURE, supportStreaming, supportVertxFuture, USE_ABSTRACTION_FOR_FILES, USE_ENUM_CASE_INSENSITIVE, USE_JACKSON_3, USE_PLAY_WS, USE_REFLECTION_EQUALS_HASHCODE, USE_RUNTIME_EXCEPTION, USE_RX_JAVA2, USE_RX_JAVA3, USE_SEALED_ONE_OF_INTERFACES, USE_SPRING_BOOT4, USE_UNARY_INTERCEPTOR, useAbstractionForFiles, useEnumCaseInsensitive, useGzipFeature, useJackson3, useOneOfDiscriminatorLookup, usePlayWS, useReflectionEqualsHashCode, useRuntimeException, useRxJava, useRxJava2, useRxJava3, useSealedOneOfInterfaces, useSingleRequestParameter, useSpringBoot4, useUnaryInterceptor, VERTX, waitTimeMillis, WEBCLIENT, WEBCLIENT_BLOCKING_OPERATIONS, webclientBlockingOperations, withAWSV4Signature

    Fields inherited from class org.openapitools.codegen.languages.AbstractJavaCodegen

    ADDITIONAL_ENUM_TYPE_ANNOTATIONS, ADDITIONAL_MODEL_TYPE_ANNOTATIONS, ADDITIONAL_ONE_OF_TYPE_ANNOTATIONS, additionalEnumTypeAnnotations, additionalModelTypeAnnotations, additionalOneOfTypeAnnotations, annotationLibrary, apiDocPath, artifactDescription, artifactId, artifactUrl, artifactVersion, BOOLEAN_GETTER_PREFIX, booleanGetterPrefix, CAMEL_CASE_DOLLAR_SIGN, camelCaseDollarSign, CONTAINER_DEFAULT_TO_NULL, containerDefaultToNull, DATE_LIBRARY, dateLibrary, DEFAULT_LIBRARY, DEFAULT_TEST_FOLDER, developerEmail, developerName, developerOrganization, developerOrganizationUrl, DISABLE_DISCRIMINATOR_JSON_IGNORE_PROPERTIES, DISABLE_HTML_ESCAPING, disableDiscriminatorJsonIgnoreProperties, disableHtmlEscaping, DISCRIMINATOR_CASE_SENSITIVE, discriminatorCaseSensitive, documentationProvider, ENUM_PROPERTY_NAMING_DESC, enumPropertyNaming, GENERATE_BUILDERS, GENERATE_CONSTRUCTOR_WITH_ALL_ARGS, generateBuilders, generateConstructorWithAllArgs, groupId, IGNORE_ANYOF_IN_ENUM, ignoreAnyOfInEnum, IMPLICIT_HEADERS, IMPLICIT_HEADERS_REGEX, implicitHeaders, implicitHeadersRegex, invokerPackage, jackson, JACKSON, JAVAX_PACKAGE, licenseName, licenseUrl, LOMBOK, lombokAnnotations, modelDocPath, OPENAPI_NULLABLE, openApiNullable, outputTestFolder, parentArtifactId, parentGroupId, parentOverridden, parentVersion, projectFolder, projectTestFolder, SCHEMA_IMPLEMENTS, schemaImplements, scmConnection, scmDeveloperConnection, scmUrl, serializableModel, serializeBigDecimalAsString, sourceFolder, SUPPORT_ASYNC, supportAsync, TEST_OUTPUT, testFolder, USE_JAKARTA_EE, USE_ONE_OF_INTERFACES, useBeanValidation, useJakartaEe, WITH_XML, withXml, X_IMPLEMENTS_SKIP, xImplementsSkip

    Fields inherited from class org.openapitools.codegen.DefaultCodegen

    additionalProperties, addOneOfInterfaceImports, addOneOfInterfaces, addSuffixToDuplicateOperationNicknames, allowUnicodeIdentifiers, apiDocTemplateFiles, apiNamePrefix, apiNameSuffix, apiPackage, apiTemplateFiles, apiTestTemplateFiles, autosetConstants, cliOptions, DefaultFeatureSet, defaultIncludes, defaultToEmptyContainer, disallowAdditionalPropertiesIfNotPresent, docExtension, embeddedTemplateDir, enableMinimalUpdate, enablePostProcessFile, ensureUniqueParams, enumNameMapping, enumUnknownDefaultCase, enumUnknownDefaultCaseName, falseSchema, filesMetadataFilename, fileSuffix, generatorMetadata, gitHost, gitRepoId, gitUserId, hideGenerationTimestamp, httpUserAgent, ignoreFilePathOverride, importBaseType, importContainerType, importMapping, inlineSchemaNameMapping, inlineSchemaOption, inputSpec, instantiationTypes, JSON_MIME_PATTERN, JSON_VENDOR_MIME_PATTERN, languageSpecificPrimitives, legacyDiscriminatorBehavior, library, loadDeepObjectIntoItems, modelDocTemplateFiles, modelNameMapping, modelNamePrefix, modelNameSuffix, modelPackage, modelTemplateFiles, modelTestTemplateFiles, nameMapping, openAPI, openapiGeneratorIgnoreList, openapiNormalizer, operationIdNameMapping, outputFolder, parameterNameMapping, prependFormOrBodyParameters, releaseNote, removeEnumValuePrefix, removeOperationIdPrefix, removeOperationIdPrefixCount, removeOperationIdPrefixDelimiter, reservedWords, reservedWordsMappings, schemaMapping, serverVariables, skipOperationExample, skipOverwrite, skipSortingOperations, sortModelPropertiesByRequiredFlag, sortParamsByRequiredFlag, specialCharReplacements, SPLIT_ON_SEMICOLON_OR_NEWLINE_REGEX, strictSpecBehavior, supportedLibraries, supportingFiles, supportsAdditionalPropertiesWithComposedSchema, supportsInheritance, supportsMixins, supportsMultipleInheritance, templateDir, templateOutputDirs, testPackage, trueSchema, typeAliases, typeMapping, useOneOfInterfaces, vendorExtensions, versionMetadataFilename, XML_MIME_PATTERN

    Fields inherited from interface org.openapitools.codegen.languages.features.BeanValidationFeatures

    USE_BEANVALIDATION

    Fields inherited from interface org.openapitools.codegen.languages.features.DocumentationProviderFeatures

    ANNOTATION_LIBRARY, DOCUMENTATION_PROVIDER

    Fields inherited from interface org.openapitools.codegen.languages.features.GzipFeatures

    USE_GZIP_FEATURE

    Fields inherited from interface org.openapitools.codegen.languages.features.PerformBeanValidationFeatures

    PERFORM_BEANVALIDATION
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    org.openapitools.codegen.CodegenModel
    fromModel(String name, io.swagger.v3.oas.models.media.Schema model)
    Intercepts model creation and marks models that should be ignored.
    Name of the custom generator.
    Map<String,org.openapitools.codegen.model.ModelsMap>
    postProcessAllModels(Map<String,org.openapitools.codegen.model.ModelsMap> allModels)
    Completely removes ignored models from the global model map.
    org.openapitools.codegen.model.ModelsMap
    postProcessModels(org.openapitools.codegen.model.ModelsMap modelsMap)
    Removes ignored models from the current processing batch.

    Methods inherited from class org.openapitools.codegen.languages.JavaClientCodegen

    addImportsToOneOfInterface, addOperationToGroup, apiFilename, applyJackson2Package, applyJackson3Package, defaultDocumentationProvider, forceSerializationLibrary, getHelp, getSerializationLibrary, getSingleRequestParameter, getStaticRequest, getSupportedVendorExtensions, getTag, getUseOneOfDiscriminatorLookup, isConstructorWithAllArgsAllowed, isFailOnUnknownProperties, isUseJackson3, isUseSpringBoot4, postProcessModelProperty, postProcessModelsEnum, postProcessOperationsWithModels, postProcessSupportingFileData, processOpts, setAsyncNative, setCaseInsensitiveResponseHeaders, setConfigKey, setDoNotUseRx, setDynamicOperations, setErrorObjectType, setFailOnUnknownProperties, setGenerateClientAsBean, setGradleProperties, setMaxAttemptsForRetry, setMicroprofileFramework, setMicroProfileGlobalExceptionMapper, setMicroprofileMutiny, setMicroProfileRegisterExceptionMapper, setMicroprofileRestClientVersion, setParcelableModel, setPerformBeanValidation, setSerializationLibrary, setSupportStreaming, setSupportVertxFuture, setUseAbstractionForFiles, setUseEnumCaseInsensitive, setUseGzipFeature, setUseJackson3, setUseOneOfDiscriminatorLookup, setUsePlayWS, setUseReflectionEqualsHashCode, setUseRuntimeException, setUseRxJava, setUseRxJava2, setUseRxJava3, setUseSealedOneOfInterfaces, setUseSpringBoot4, setUseUnaryInterceptor, setWaitTimeMillis, setWithAWSV4Signature, supportedAnnotationLibraries, supportedDocumentationProvider, toApiVarName

    Methods inherited from class org.openapitools.codegen.languages.AbstractJavaCodegen

    addAdditionPropertiesToCodeGenModel, addImports, apiDocFileFolder, apiFileFolder, apiTestFileFolder, applyJakartaPackage, applyJavaxPackage, escapeQuotationMark, escapeReservedWord, escapeUnsafeCharacters, findByName, fromOperation, getAdditionalModelTypeAnnotations, getAdditionalOneOfTypeAnnotations, getAnnotationLibrary, getArtifactDescription, getArtifactId, getArtifactUrl, getArtifactVersion, getBooleanGetterPrefix, getDateLibrary, getDeveloperEmail, getDeveloperName, getDeveloperOrganization, getDeveloperOrganizationUrl, getDocumentationProvider, getEnumPropertyNaming, getGroupId, getInvokerPackage, getLicenseName, getLicenseUrl, getOutputTestFolder, getSchemaImplements, getSchemaType, getScmConnection, getScmDeveloperConnection, getScmUrl, getSerializableModel, getSourceFolder, getterAndSetterCapitalize, getTestFolder, getTypeDeclaration, getXImplementsSkip, handleImplicitHeaders, isAddNullableImports, isDisableDiscriminatorJsonIgnoreProperties, isGenerateBuilders, isGenerateConstructorWithAllArgs, isJackson, isOpenApiNullable, isTypeErasedGenerics, isUseBeanValidation, modelDocFileFolder, modelFileFolder, modelTestFileFolder, needToImport, postProcessFile, postProcessResponseWithProperty, preprocessOpenAPI, removeAnnotations, sanitizeDataType, sanitizeTag, setAdditionalEnumTypeAnnotations, setAdditionalModelTypeAnnotations, setAdditionalOneOfTypeAnnotations, setAnnotationLibrary, setArtifactDescription, setArtifactId, setArtifactUrl, setArtifactVersion, setBooleanGetterPrefix, setCamelCaseDollarSign, setContainerDefaultToNull, setDateLibrary, setDeveloperEmail, setDeveloperName, setDeveloperOrganization, setDeveloperOrganizationUrl, setDisableDiscriminatorJsonIgnoreProperties, setDisableHtmlEscaping, setDiscriminatorCaseSensitive, setDocumentationProvider, setEnumPropertyNaming, setGenerateBuilders, setGenerateConstructorWithAllArgs, setGroupId, setIgnoreAnyOfInEnum, setImplicitHeaders, setImplicitHeadersRegex, setInvokerPackage, setJackson, setLicenseName, setLicenseUrl, setOpenApiNullable, setOutputDir, setOutputTestFolder, setParameterExampleValue, setParameterExampleValue, setParameterExampleValue, setParentArtifactId, setParentGroupId, setParentOverridden, setParentVersion, setSchemaImplements, setScmConnection, setScmDeveloperConnection, setScmUrl, setSerializableModel, setSerializeBigDecimalAsString, setSourceFolder, setSupportAsync, setTestFolder, setUseBeanValidation, setUseJakartaEe, setWithXml, setXImplementsSkip, toApiDocFilename, toApiFilename, toApiTestFilename, toArrayDefaultValue, toBooleanGetter, toDefaultParameterValue, toDefaultValue, toEnumName, toEnumValue, toEnumVarName, toExampleValue, toModelDocFilename, toModelFilename, toModelName, toModelTestFilename, toOperationId, toParamName, toRegularExpression, toVarName

    Methods inherited from class org.openapitools.codegen.DefaultCodegen

    addBodyModelSchema, addHeaders, addImport, addImport, addImport, addImports, addImports, addImports, addImportsForPropertyType, additionalProperties, addMustacheLambdas, addOneOfInterfaceModel, addOneOfNameExtension, addOption, addOption, addParentContainer, addParentFromContainer, addProperties, addRegularExpressionDelimiter, addRequiredVarsMap, addSwitch, addVars, addVars, addVarsRequiredVarsAdditionalProps, apiDocFilename, apiDocTemplateFiles, apiFilename, apiPackage, apiTemplateFiles, apiTestFilename, apiTestTemplateFiles, buildEnumVars, buildLibraryCliOption, cliOptions, convertPropertyToBoolean, convertPropertyToBooleanAndWriteBack, convertPropertyToBooleanAndWriteBack, convertPropertyToStringAndWriteBack, convertPropertyToTypeAndWriteBack, createDiscriminator, defaultIncludes, defaultTemplatingEngine, embeddedTemplateDir, encodePath, enumNameMapping, escapeText, escapeTextInSingleQuotes, escapeTextWhileAllowingNewLines, executePostProcessor, fileSuffix, findCommonPrefixOfVars, findMethodResponse, fromCallback, fromFormProperty, fromParameter, fromProperty, fromProperty, fromProperty, fromRequestBody, fromRequestBodyToFormParameters, fromResponse, fromSecurity, fromServers, fromServerVariables, generateExamplePath, generateJSONSpecFile, generateYAMLSpecFile, generatorLanguage, generatorLanguageVersion, getAdditionalPropertiesName, getAddSuffixToDuplicateOperationNicknames, getAlias, getAllModels, getAllOfDescendants, getAllowUnicodeIdentifiers, getApiNamePrefix, getApiNameSuffix, getCollectionFormat, getCollectionFormat, getConsumesInfo, getContent, getContentType, getDisallowAdditionalPropertiesIfNotPresent, getDiscriminatorPropertyType, getDiscriminatorSchema, getDocExtension, getEnsureUniqueParams, getEnumDefaultValue, getEnumUnknownDefaultCase, getEnumValueForProperty, getFeatureSet, getFilesMetadataFilename, getGeneratorMetadata, getGitHost, getGitRepoId, getGitUserId, getHttpUserAgent, getIgnoreFilePathOverride, getInnerEnumAllowableValues, getInputSpec, getItemsName, getLegacyDiscriminatorBehavior, getLibrary, getModelNamePrefix, getModelNameSuffix, getModelNameToSchemaCache, getMostInnerItems, getObjectAsStringList, getObjectAsStringListMap, getObjectAsStringMap, getOneOfAnyOfDescendants, getOpenapiGeneratorIgnoreList, getOrGenerateOperationId, getOutputDir, getParameterDataType, getPrependFormOrBodyParameters, getProducesInfo, getPropertyAsStringList, getPropertyAsStringListMap, getPropertyAsStringMap, getReleaseNote, getRemoveOperationIdPrefixCount, getRemoveOperationIdPrefixDelimiter, getSchemaAdditionalProperties, getSchemaFromBooleanOrSchema, getSingleSchemaType, getSortModelPropertiesByRequiredFlag, getSortParamsByRequiredFlag, getSymbolName, getTemplatingEngine, getTypeDeclaration, getUseInlineModelResolver, getUseOneOfInterfaces, getUseOpenapiNormalizer, getVersionMetadataFilename, handleConstantParams, handleMethodResponse, handleMethodResponse, handleSpecialCharacters, hasBodyParameter, hasFormParameter, importMapping, initializeSpecialCharacterMapping, inlineSchemaNameMapping, inlineSchemaOption, instantiationTypes, isArrayDefaultToEmpty, isArrayNullableDefaultToEmpty, isArrayOptionalDefaultToEmpty, isArrayOptionalNullableDefaultToEmpty, isDataTypeBinary, isDataTypeFile, isDataTypeString, isDefaultToEmptyContainer, isEnableMinimalUpdate, isEnablePostProcessFile, isHideGenerationTimestamp, isJsonMimeType, isJsonVendorMimeType, isLibrary, isMapDefaultToEmpty, isMapNullableDefaultToEmpty, isMapOptionalDefaultToEmpty, isMapOptionalNullableDefaultToEmpty, isParameterNameUnique, isPropertyInnerMostEnum, isRemoveEnumValuePrefix, isRemoveOperationIdPrefix, isReservedWord, isSkipOperationExample, isSkipOverwrite, isSkipSortingOperations, isStrictSpecBehavior, isXmlMimeType, languageSpecificPrimitives, lowerCamelCase, modelDocTemplateFiles, modelFilename, modelFilename, modelNameMapping, modelPackage, modelTemplateFiles, modelTestTemplateFiles, modifyFeatureSet, nameMapping, openapiGeneratorIgnoreList, openapiNormalizer, operationIdNameMapping, outputFolder, parameterNameMapping, postProcess, postProcessEnumVars, postProcessParameter, postProcessWebhooksWithModels, processCompiler, processOpenAPI, processTemplatingEngine, processTestExampleData, removeImport, removeNonNameElementToCamelCase, removeNonNameElementToCamelCase, removeOption, removeSelfReferenceImports, reservedWords, reservedWordsMappings, sanitizeName, sanitizeName, sanitizeName, schemaMapping, serverVariableOverrides, setAddProps, setAllowUnicodeIdentifiers, setApiNamePrefix, setApiNameSuffix, setApiPackage, setArrayDefaultToEmpty, setArrayNullableDefaultToEmpty, setArrayOptionalDefaultToEmpty, setArrayOptionalNullableDefaultToEmpty, setAutosetConstants, setCircularReferences, setDefaultToEmptyContainer, setDisallowAdditionalPropertiesIfNotPresent, setDocExtension, setEnableMinimalUpdate, setEnablePostProcessFile, setEnsureUniqueParams, setEnumDiscriminatorDefaultValue, setEnumUnknownDefaultCase, setFilesMetadataFilename, setGitHost, setGitRepoId, setGitUserId, setHideGenerationTimestamp, setHttpUserAgent, setIgnoreFilePathOverride, setInputSpec, setLegacyDiscriminatorBehavior, setLibrary, setMapDefaultToEmpty, setMapNullableDefaultToEmpty, setMapOptionalDefaultToEmpty, setMapOptionalNullableDefaultToEmpty, setModelNamePrefix, setModelNameSuffix, setModelPackage, setNonArrayMapProperty, setOpenAPI, setParameterBooleanFlagWithCodegenProperty, setParameterEncodingValues, setParameterExamples, setParameterNullable, setPrependFormOrBodyParameters, setReleaseNote, setRemoveEnumValuePrefix, setRemoveOperationIdPrefix, setRemoveOperationIdPrefixCount, setRemoveOperationIdPrefixDelimiter, setReservedWordsLowerCase, setSkipOperationExample, setSkipOverwrite, setSkipSortingOperations, setSortModelPropertiesByRequiredFlag, setSortParamsByRequiredFlag, setStrictSpecBehavior, setTemplateDir, setTemplatingEngine, setUseOneOfInterfaces, setVersionMetadataFilename, shouldAddImport, shouldOverwrite, SortModelPropertiesByRequiredFlag, SortParametersByRequiredFlag, specVersionGreaterThanOrEqualTo310, supportedLibraries, supportingFiles, templateDir, templateOutputDirs, testPackage, toAllOfName, toAnyOfName, toApiImport, toApiName, toArrayModelParamName, toDefaultParameterValue, toDefaultValue, toDefaultValueWithParam, toEnumDefaultValue, toEnumDefaultValue, toExamples, toGetter, toInstantiationType, toMediaTypeSchemaName, toModelImport, toModelImportMap, toOneOfName, toSetter, toTestCaseName, typeMapping, unaliasPropertySchema, unaliasSchema, updateAllModels, updateCodegenPropertyEnum, updateDataTypeWithEnumForArray, updateDataTypeWithEnumForMap, updateEnumVarsWithExtensions, updateModelForAnyType, updateModelForComposedSchema, updateModelForInteger, updateModelForNumber, updateModelForObject, updateModelForString, updateOption, updateParameterForString, updatePropertyForAnyType, updatePropertyForArray, updatePropertyForInteger, updatePropertyForMap, updatePropertyForMap, updatePropertyForNumber, updatePropertyForObject, updatePropertyForString, updateRequestBodyForArray, updateRequestBodyForMap, updateRequestBodyForObject, updateRequestBodyForPrimitiveType, updateRequestBodyForString, useCodegenAsMustacheParentContext, vendorExtensions, writePropertyBack

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

    Methods inherited from interface org.openapitools.codegen.languages.features.BeanValidationFeatures

    setUseBeanValidation

    Methods inherited from interface org.openapitools.codegen.CodegenConfig

    additionalProperties, apiDocFilename, apiDocTemplateFiles, apiFilename, apiPackage, apiTemplateFiles, apiTestFilename, apiTestTemplateFiles, cliOptions, defaultIncludes, defaultTemplatingEngine, embeddedTemplateDir, encodePath, enumNameMapping, escapeText, escapeTextWhileAllowingNewLines, fileSuffix, fromSecurity, fromServers, fromServerVariables, generateExamplePath, generatorLanguage, generatorLanguageVersion, getAddSuffixToDuplicateOperationNicknames, getDocExtension, getFeatureSet, getFilesMetadataFilename, getGeneratorMetadata, getGitHost, getGitRepoId, getGitUserId, getHttpUserAgent, getIgnoreFilePathOverride, getInputSpec, getLibrary, getOpenapiGeneratorIgnoreList, getOutputDir, getReleaseNote, getTemplatingEngine, getTypeDeclaration, getUseInlineModelResolver, getUseOpenapiNormalizer, getVersionMetadataFilename, importMapping, inlineSchemaNameMapping, inlineSchemaOption, instantiationTypes, isEnableMinimalUpdate, isEnablePostProcessFile, isHideGenerationTimestamp, isRemoveEnumValuePrefix, isRemoveOperationIdPrefix, isSkipOperationExample, isSkipOverwrite, isSkipSortingOperations, isStrictSpecBehavior, languageSpecificPrimitives, modelDocTemplateFiles, modelFilename, modelFilename, modelNameMapping, modelPackage, modelTemplateFiles, modelTestTemplateFiles, nameMapping, openapiGeneratorIgnoreList, openapiNormalizer, operationIdNameMapping, outputFolder, parameterNameMapping, postProcess, postProcessParameter, postProcessWebhooksWithModels, processCompiler, processOpenAPI, processTemplatingEngine, reservedWords, reservedWordsMappings, sanitizeName, schemaMapping, serverVariableOverrides, setDocExtension, setEnableMinimalUpdate, setEnablePostProcessFile, setGitHost, setGitRepoId, setGitUserId, setHideGenerationTimestamp, setHttpUserAgent, setIgnoreFilePathOverride, setInputSpec, setLibrary, setOpenAPI, setReleaseNote, setRemoveEnumValuePrefix, setRemoveOperationIdPrefix, setSkipOperationExample, setSkipOverwrite, setSkipSortingOperations, setStrictSpecBehavior, setTemplatingEngine, shouldOverwrite, supportedLibraries, supportingFiles, templateDir, templateOutputDirs, testPackage, toApiImport, toApiName, toGetter, toModelImport, toModelImportMap, toSetter, typeMapping, unaliasSchema, updateAllModels, vendorExtensions
  • Constructor Details

    • GenericAwareJavaCodegen

      public GenericAwareJavaCodegen()
  • Method Details

    • fromModel

      public org.openapitools.codegen.CodegenModel fromModel(String name, io.swagger.v3.oas.models.media.Schema model)
      Intercepts model creation and marks models that should be ignored.

      This phase does NOT remove models yet. It only records intent.

      Specified by:
      fromModel in interface org.openapitools.codegen.CodegenConfig
      Overrides:
      fromModel in class org.openapitools.codegen.languages.JavaClientCodegen
    • postProcessModels

      public org.openapitools.codegen.model.ModelsMap postProcessModels(org.openapitools.codegen.model.ModelsMap modelsMap)
      Removes ignored models from the current processing batch.

      This prevents template-level generation for those models.

      Specified by:
      postProcessModels in interface org.openapitools.codegen.CodegenConfig
      Overrides:
      postProcessModels in class org.openapitools.codegen.languages.JavaClientCodegen
    • postProcessAllModels

      public Map<String,org.openapitools.codegen.model.ModelsMap> postProcessAllModels(Map<String,org.openapitools.codegen.model.ModelsMap> allModels)
      Completely removes ignored models from the global model map.

      This is the critical phase which ensures:

      • No file generation
      • No downstream references treated as generatable models
      Specified by:
      postProcessAllModels in interface org.openapitools.codegen.CodegenConfig
      Overrides:
      postProcessAllModels in class org.openapitools.codegen.languages.AbstractJavaCodegen
    • getName

      public String getName()
      Name of the custom generator.
      Specified by:
      getName in interface org.openapitools.codegen.CodegenConfig
      Overrides:
      getName in class org.openapitools.codegen.languages.JavaClientCodegen