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:
- Detected during
fromModel(String, Schema)phase - Filtered out locally in
postProcessModels(ModelsMap) - Completely removed from the global model graph in
postProcessAllModels(Map)
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_TYPENested 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, withAWSV4SignatureFields 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, xImplementsSkipFields 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_PATTERNFields inherited from interface org.openapitools.codegen.languages.features.BeanValidationFeatures
USE_BEANVALIDATIONFields inherited from interface org.openapitools.codegen.languages.features.DocumentationProviderFeatures
ANNOTATION_LIBRARY, DOCUMENTATION_PROVIDERFields inherited from interface org.openapitools.codegen.languages.features.GzipFeatures
USE_GZIP_FEATUREFields inherited from interface org.openapitools.codegen.languages.features.PerformBeanValidationFeatures
PERFORM_BEANVALIDATION -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionorg.openapitools.codegen.CodegenModelIntercepts model creation and marks models that should be ignored.getName()Name of the custom generator.postProcessAllModels(Map<String, org.openapitools.codegen.model.ModelsMap> allModels) Completely removes ignored models from the global model map.org.openapitools.codegen.model.ModelsMappostProcessModels(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, toApiVarNameMethods 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, toVarNameMethods 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, writePropertyBackMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.openapitools.codegen.languages.features.BeanValidationFeatures
setUseBeanValidationMethods 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:
fromModelin interfaceorg.openapitools.codegen.CodegenConfig- Overrides:
fromModelin classorg.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:
postProcessModelsin interfaceorg.openapitools.codegen.CodegenConfig- Overrides:
postProcessModelsin classorg.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:
postProcessAllModelsin interfaceorg.openapitools.codegen.CodegenConfig- Overrides:
postProcessAllModelsin classorg.openapitools.codegen.languages.AbstractJavaCodegen
-
getName
Name of the custom generator.- Specified by:
getNamein interfaceorg.openapitools.codegen.CodegenConfig- Overrides:
getNamein classorg.openapitools.codegen.languages.JavaClientCodegen
-