Class JavaHelidonCommonCodegen
- java.lang.Object
-
- org.openapitools.codegen.DefaultCodegen
-
- org.openapitools.codegen.languages.AbstractJavaCodegen
-
- org.openapitools.codegen.languages.JavaHelidonCommonCodegen
-
- All Implemented Interfaces:
CodegenConfig,BeanValidationFeatures,DocumentationProviderFeatures,PerformBeanValidationFeatures
- Direct Known Subclasses:
JavaHelidonClientCodegen,JavaHelidonServerCodegen
public abstract class JavaHelidonCommonCodegen extends AbstractJavaCodegen implements BeanValidationFeatures, PerformBeanValidationFeatures
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classJavaHelidonCommonCodegen.GenericTypeDeclarationstatic classJavaHelidonCommonCodegen.GenericTypeDeclarationsCaptures information about the model types for which we need GenericType declarations.protected static classJavaHelidonCommonCodegen.GroupBy-
Nested classes/interfaces inherited from class org.openapitools.codegen.languages.AbstractJavaCodegen
AbstractJavaCodegen.ENUM_PROPERTY_NAMING_TYPE
-
Nested classes/interfaces inherited from interface org.openapitools.codegen.languages.features.DocumentationProviderFeatures
DocumentationProviderFeatures.AnnotationLibrary, DocumentationProviderFeatures.DocumentationProvider
-
-
Field Summary
Fields Modifier and Type Field Description protected JavaHelidonCommonCodegen.GenericTypeDeclarationsgenericTypeDeclarationsprotected JavaHelidonCommonCodegen.GroupBygroupBystatic StringHELIDON_VERSIONprotected inthelidonMajorVersionprotected StringhelidonVersionprotected Map<String,List<CodegenOperation>>tagToOperationsprotected booleanuseOptionalprotected booleanuseReactive-
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_HTML_ESCAPING, 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, scmConnection, scmDeveloperConnection, scmUrl, serializableModel, serializeBigDecimalAsString, sourceFolder, SUPPORT_ASYNC, supportAsync, TEST_OUTPUT, testFolder, USE_JAKARTA_EE, USE_ONE_OF_INTERFACES, useBeanValidation, useJakartaEe, WITH_XML, withXml
-
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, 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.PerformBeanValidationFeatures
PERFORM_BEANVALIDATION
-
-
Constructor Summary
Constructors Constructor Description JavaHelidonCommonCodegen()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddOperationToGroup(String tag, String resourcePath, io.swagger.v3.oas.models.Operation operation, CodegenOperation co, Map<String,List<CodegenOperation>> operations)Add operation to groupprotected StringapiFolder()static StringchooseVersion(String requestedVersionPrefix)static StringdefaultHelidonVersion()CodegenOperationfromOperation(String path, String httpMethod, io.swagger.v3.oas.models.Operation operation, List<io.swagger.v3.oas.models.servers.Server> servers)Convert OAS Operation object to Codegen Operation objectCodegenParameterfromParameter(io.swagger.v3.oas.models.parameters.Parameter parameter, Set<String> imports)Convert OAS Parameter object to Codegen Parameter objectCodegenResponsefromResponse(String responseCode, io.swagger.v3.oas.models.responses.ApiResponse response)Convert OAS Response object to Codegen Response objectprotected StringmodelFolder()OperationsMappostProcessOperationsWithModels(OperationsMap objs, List<ModelMap> allModels)voidprocessOpts()protected voidprocessSupportingFiles(List<SupportingFile> modifiable, List<SupportingFile> unmodifiable)Determine whether to generate or overwrite files depending on fullProject property.protected booleanprojectFilesExist()Check if project is already generated to determine default for the fullProject flag.protected voidremoveCliOptions(String... opt)protected voidremoveUnusedOptions()Remove set of options not currently used by any Helidon generator.protected StringrootJavaEEPackage()protected StringstatusDeclaration(String code)-
Methods inherited from class org.openapitools.codegen.languages.AbstractJavaCodegen
addAdditionPropertiesToCodeGenModel, addImports, addImportsToOneOfInterface, apiDocFileFolder, apiFileFolder, apiTestFileFolder, applyJakartaPackage, applyJavaxPackage, escapeQuotationMark, escapeReservedWord, escapeUnsafeCharacters, findByName, fromModel, getAnnotationLibrary, getDocumentationProvider, getOutputTestFolder, getSchemaType, getSupportedVendorExtensions, getterAndSetterCapitalize, getTypeDeclaration, handleImplicitHeaders, isAddNullableImports, isConstructorWithAllArgsAllowed, isTypeErasedGenerics, modelDocFileFolder, modelFileFolder, modelTestFileFolder, needToImport, postProcessAllModels, postProcessFile, postProcessModelProperty, postProcessModels, postProcessResponseWithProperty, preprocessOpenAPI, removeAnnotations, sanitizeDataType, sanitizeTag, setAnnotationLibrary, setDocumentationProvider, setEnumPropertyNaming, setOutputDir, setParameterExampleValue, setParameterExampleValue, setParameterExampleValue, 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, 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, fromProperty, fromProperty, fromProperty, fromRequestBody, fromRequestBodyToFormParameters, fromSecurity, fromServers, fromServerVariables, generateExamplePath, generateJSONSpecFile, generateYAMLSpecFile, generatorLanguage, generatorLanguageVersion, getAdditionalPropertiesName, getAddSuffixToDuplicateOperationNicknames, getAlias, getAllModels, getAllOfDescendants, getCollectionFormat, getCollectionFormat, getConsumesInfo, getContent, getContentType, getDisallowAdditionalPropertiesIfNotPresent, getDocExtension, getEnumDefaultValue, getEnumUnknownDefaultCase, getEnumValueForProperty, getFeatureSet, getFilesMetadataFilename, getGeneratorMetadata, getGitHost, getGitRepoId, getGitUserId, getHelp, getHttpUserAgent, getIgnoreFilePathOverride, getInnerEnumAllowableValues, getInputSpec, getItemsName, getLegacyDiscriminatorBehavior, getLibrary, getModelNameToSchemaCache, getMostInnerItems, getName, getOneOfAnyOfDescendants, getOpenapiGeneratorIgnoreList, getOrGenerateOperationId, getOutputDir, getParameterDataType, getProducesInfo, getReleaseNote, getSchemaAdditionalProperties, getSchemaFromBooleanOrSchema, getSingleSchemaType, getSymbolName, getTag, getTemplatingEngine, getTypeDeclaration, getUseInlineModelResolver, getUseOneOfInterfaces, getUseOpenapiNormalizer, getVersionMetadataFilename, handleConstantParams, handleMethodResponse, handleMethodResponse, handleSpecialCharacters, hasBodyParameter, hasFormParameter, importMapping, initializeSpecialCharacterMapping, inlineSchemaNameMapping, inlineSchemaOption, instantiationTypes, isDataTypeBinary, isDataTypeFile, isDataTypeString, isEnableMinimalUpdate, isEnablePostProcessFile, isHideGenerationTimestamp, isJsonMimeType, isJsonVendorMimeType, isLibrary, 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, postProcessModelsEnum, postProcessParameter, postProcessSupportingFileData, postProcessWebhooksWithModels, processCompiler, processOpenAPI, processTemplatingEngine, processTestExampleData, removeImport, removeNonNameElementToCamelCase, removeNonNameElementToCamelCase, removeOption, removeSelfReferenceImports, reservedWords, reservedWordsMappings, sanitizeName, sanitizeName, sanitizeName, schemaMapping, serverVariableOverrides, setAddProps, setCircularReferences, setDocExtension, setEnableMinimalUpdate, setEnablePostProcessFile, setEnumDiscriminatorDefaultValue, setGitHost, setGitRepoId, setGitUserId, setHideGenerationTimestamp, setHttpUserAgent, setIgnoreFilePathOverride, setInputSpec, setLibrary, setNonArrayMapProperty, setOpenAPI, setParameterBooleanFlagWithCodegenProperty, setParameterEncodingValues, setParameterExamples, setParameterNullable, setReleaseNote, setRemoveEnumValuePrefix, setRemoveOperationIdPrefix, setReservedWordsLowerCase, setSkipOperationExample, setSkipOverwrite, setSkipSortingOperations, setStrictSpecBehavior, setTemplatingEngine, setUseOneOfInterfaces, shouldAddImport, shouldOverwrite, SortModelPropertiesByRequiredFlag, SortParametersByRequiredFlag, specVersionGreaterThanOrEqualTo310, supportedLibraries, supportingFiles, templateDir, templateOutputDirs, testPackage, toAllOfName, toAnyOfName, toApiImport, toApiName, toApiVarName, 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, 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, getHelp, getHttpUserAgent, getIgnoreFilePathOverride, getInputSpec, getLibrary, getName, getOpenapiGeneratorIgnoreList, getOutputDir, getReleaseNote, getTag, 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, postProcessSupportingFileData, 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, toApiVarName, toGetter, toModelImport, toModelImportMap, toSetter, typeMapping, unaliasSchema, updateAllModels, vendorExtensions
-
Methods inherited from interface org.openapitools.codegen.languages.features.DocumentationProviderFeatures
defaultDocumentationProvider, supportedAnnotationLibraries, supportedDocumentationProvider
-
Methods inherited from interface org.openapitools.codegen.languages.features.PerformBeanValidationFeatures
setPerformBeanValidation
-
-
-
-
Field Detail
-
HELIDON_VERSION
public static final String HELIDON_VERSION
- See Also:
- Constant Field Values
-
helidonVersion
protected String helidonVersion
-
helidonMajorVersion
protected int helidonMajorVersion
-
useReactive
protected boolean useReactive
-
useOptional
protected boolean useOptional
-
genericTypeDeclarations
protected final JavaHelidonCommonCodegen.GenericTypeDeclarations genericTypeDeclarations
-
tagToOperations
protected Map<String,List<CodegenOperation>> tagToOperations
-
groupBy
protected JavaHelidonCommonCodegen.GroupBy groupBy
-
-
Method Detail
-
defaultHelidonVersion
public static String defaultHelidonVersion()
-
processOpts
public void processOpts()
- Specified by:
processOptsin interfaceCodegenConfig- Overrides:
processOptsin classAbstractJavaCodegen
-
addOperationToGroup
public void addOperationToGroup(String tag, String resourcePath, io.swagger.v3.oas.models.Operation operation, CodegenOperation co, Map<String,List<CodegenOperation>> operations)
Description copied from class:DefaultCodegenAdd operation to group- Specified by:
addOperationToGroupin interfaceCodegenConfig- Overrides:
addOperationToGroupin classDefaultCodegen- Parameters:
tag- name of the tagresourcePath- path of the resourceoperation- OAS Operation objectco- Codegen Operation objectoperations- map of Codegen operations
-
fromOperation
public CodegenOperation fromOperation(String path, String httpMethod, io.swagger.v3.oas.models.Operation operation, List<io.swagger.v3.oas.models.servers.Server> servers)
Description copied from class:DefaultCodegenConvert OAS Operation object to Codegen Operation object- Specified by:
fromOperationin interfaceCodegenConfig- Overrides:
fromOperationin classAbstractJavaCodegen- Parameters:
path- the path of the operationhttpMethod- HTTP methodoperation- OAS operation objectservers- list of servers- Returns:
- Codegen Operation object
-
fromParameter
public CodegenParameter fromParameter(io.swagger.v3.oas.models.parameters.Parameter parameter, Set<String> imports)
Description copied from class:DefaultCodegenConvert OAS Parameter object to Codegen Parameter object- Overrides:
fromParameterin classDefaultCodegen- Parameters:
parameter- OAS parameter objectimports- set of imports for library/package/module- Returns:
- Codegen Parameter object
-
fromResponse
public CodegenResponse fromResponse(String responseCode, io.swagger.v3.oas.models.responses.ApiResponse response)
Description copied from class:DefaultCodegenConvert OAS Response object to Codegen Response object- Overrides:
fromResponsein classDefaultCodegen- Parameters:
responseCode- HTTP response coderesponse- OAS Response object- Returns:
- Codegen Response object
-
postProcessOperationsWithModels
public OperationsMap postProcessOperationsWithModels(OperationsMap objs, List<ModelMap> allModels)
- Specified by:
postProcessOperationsWithModelsin interfaceCodegenConfig- Overrides:
postProcessOperationsWithModelsin classAbstractJavaCodegen
-
removeUnusedOptions
protected void removeUnusedOptions()
Remove set of options not currently used by any Helidon generator. Should be called during construction but only on leaf classes.
-
processSupportingFiles
protected void processSupportingFiles(List<SupportingFile> modifiable, List<SupportingFile> unmodifiable)
Determine whether to generate or overwrite files depending on fullProject property. If property is unspecified, then check if sources are already there and avoid overwriting modifiable files.- Parameters:
modifiable- list of modifiable files to be processedunmodifiable- list of unmodifiable files to be processed
-
projectFilesExist
protected boolean projectFilesExist()
Check if project is already generated to determine default for the fullProject flag. Can be overridden in subclasses to strengthen test condition.- Returns:
- outcome of test
-
rootJavaEEPackage
protected String rootJavaEEPackage()
-
removeCliOptions
protected void removeCliOptions(String... opt)
-
apiFolder
protected String apiFolder()
-
modelFolder
protected String modelFolder()
-
-