Class AbstractKotlinCodegen
- java.lang.Object
-
- io.swagger.codegen.v3.generators.DefaultCodegenConfig
-
- io.swagger.codegen.v3.generators.kotlin.AbstractKotlinCodegen
-
- All Implemented Interfaces:
io.swagger.codegen.v3.CodegenConfig
- Direct Known Subclasses:
KotlinClientCodegen,KotlinServerCodegen
public abstract class AbstractKotlinCodegen extends DefaultCodegenConfig
-
-
Field Summary
Fields Modifier and Type Field Description protected StringapiDocPathprotected StringartifactIdprotected StringartifactVersionprotected StringgroupIdprotected StringmodelDocPathprotected StringpackageNameprotected StringsourceFolder-
Fields inherited from class io.swagger.codegen.v3.generators.DefaultCodegenConfig
additionalProperties, allowUnicodeIdentifiers, apiDocTemplateFiles, apiPackage, apiTemplateFiles, apiTestTemplateFiles, cliOptions, commonTemplateDir, configFiles, customTemplateDir, DEFAULT_CONTENT_TYPE, DEFAULT_TEMPLATE_DIR, defaultIncludes, embeddedTemplateDir, ensureUniqueParams, fileSuffix, gitRepoBaseURL, gitRepoId, gitUserId, hideGenerationTimestamp, httpUserAgent, ignoreFilePathOverride, ignoreImportMapping, importMapping, inputSpec, inputURL, instantiationTypes, IS_NULLABLE_FALSE, IS_NULLABLE_TRUE, languageArguments, languageSpecificPrimitives, library, modelDocTemplateFiles, modelNamePrefix, modelNameSuffix, modelPackage, modelTemplateFiles, modelTestTemplateFiles, openAPI, outputFolder, releaseNote, removeOperationIdPrefix, REQUEST_BODY_NAME, reservedWords, reservedWordsMappings, skipOverwrite, sortParamsByRequiredFlag, specialCharReplacements, supportedLibraries, supportingFiles, supportsInheritance, supportsMixins, templateDir, templateEngine, templateVersion, testPackage, typeAliases, typeMapping, unflattenedOpenAPI, useOas2, vendorExtensions
-
-
Constructor Summary
Constructors Constructor Description AbstractKotlinCodegen()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddHandlebarHelpers(com.github.jknack.handlebars.Handlebars handlebars)protected voidaddOption(String key, String description)protected voidaddOption(String key, String description, String defaultValue)protected voidaddSwitch(String key, String description, Boolean defaultValue)StringapiDocFileFolder()StringapiFileFolder()StringescapeQuotationMark(String input)Escape single and/or double quote to avoid code injectionStringescapeReservedWord(String name)Return the escaped name of the reserved wordStringescapeUnsafeCharacters(String input)override with any special text escaping logic to handle unsafe characters so as to avoid code injectionStringgetAlias(String name)Determine the type alias for the given type if it exists.StringgetArgumentsLocation()StringgetSchemaType(io.swagger.v3.oas.models.media.Schema schema)returns the swagger type for the propertyStringgetTypeDeclaration(io.swagger.v3.oas.models.media.Schema propertySchema)Output the type declaration of the propertybooleanisPrimivite(String datatype)protected booleanisReservedWord(String word)StringmodelDocFileFolder()StringmodelFileFolder()protected booleanneedToImport(String type)Check the type to see if it needs import the library/module/packageMap<String,Object>postProcessModels(Map<String,Object> objs)voidprocessOpts()voidsetArtifactId(String artifactId)voidsetArtifactVersion(String artifactVersion)voidsetGroupId(String groupId)voidsetPackageName(String packageName)voidsetSourceFolder(String sourceFolder)StringtoEnumName(io.swagger.codegen.v3.CodegenProperty property)Return the Enum name (e.g.StringtoEnumValue(String value, String datatype)Return the enum value in the language specified format e.g.StringtoEnumVarName(String value, String datatype)Return the sanitized variable name for enumStringtoInstantiationType(io.swagger.v3.oas.models.media.Schema p)Return the instantiation type of the property, especially for map and arrayStringtoModelImport(String name)Return the fully-qualified "Model" name for importStringtoModelName(String name)Output the proper model name (capitalized).StringtoVarName(String name)Return the variable name by removing invalid characters and proper escaping if it's a reserved word.protected voidupdateCodegenModelEnumVars(io.swagger.codegen.v3.CodegenModel codegenModel)update codegen property enum with proper naming convention and handling of numbers, special characters-
Methods inherited from class io.swagger.codegen.v3.generators.DefaultCodegenConfig
addAdditionPropertiesToCodeGenModel, addCodegenContentParameters, addConsumesInfo, addImport, additionalProperties, addOperationImports, addOperationToGroup, addParameters, addParentContainer, addProducesInfo, addProperties, addRegularExpressionDelimiter, addVars, apiDocFilename, apiDocTemplateFiles, apiFilename, apiPackage, apiTemplateFiles, apiTestFileFolder, apiTestFilename, apiTestTemplateFiles, buildLibraryCliOption, camelize, camelize, cliOptions, configFiles, configureDataForTestTemplate, configuresParameterForMediaType, convertPropertyToBoolean, convertPropertyToBooleanAndWriteBack, copyFirstAllOfProperties, customTemplateDir, dashize, defaultIgnoreImportMappingOption, defaultIncludes, detectParent, embeddedTemplateDir, ensureUniqueParameters, escapeText, fileSuffix, findCommonPrefixOfVars, findMethodResponse, fixUpParentAndInterfaces, fromModel, fromModel, fromOperation, fromOperation, fromParameter, fromProperty, fromRequestBody, fromResponse, fromSecurity, generateExamplePath, getCollectionFormat, getCommonTemplateDir, getConsumesInfo, getContentType, getDefaultTemplateDir, getGitRepoBaseURL, getGitRepoId, getGitUserId, getHideGenerationTimestamp, getHttpUserAgent, getIgnoreFilePathOverride, getIgnoreImportMapping, getInnerEnumAllowableValues, getInputSpec, getInputURL, getLanguageArguments, getLibrary, getOpenAPI, getOptionValue, getOrGenerateOperationId, getOutputDir, getParameterFromRef, getParentName, getProducesInfo, getReleaseNote, getSchemaFromBody, getSchemaFromParameter, getSchemaFromResponse, getSchemaHandler, getSortParamsByRequiredFlag, getSymbolName, getTemplateDir, getTemplateEngine, getTemplateVersion, getterAndSetterCapitalize, getTypeDeclaration, hasSchemaProperties, hasTrueAdditionalProperties, importMapping, initialCaps, instantiationTypes, isDataTypeBinary, isDataTypeFile, isFileTypeSchema, isObjectSchema, isPropertyInnerMostEnum, isRemoveOperationIdPrefix, isSkipOverwrite, languageSpecificPrimitives, modelDocTemplateFiles, modelPackage, modelTemplateFiles, modelTestFileFolder, modelTestTemplateFiles, needsUnflattenedSpec, outputFolder, postProcessAllCodegenModels, postProcessAllModels, postProcessModelProperty, postProcessModelsEnum, postProcessOperations, postProcessOperationsWithModels, postProcessParameter, postProcessSupportingFileData, preprocessOpenAPI, processCompiler, processMapSchema, processModelEnums, processOpenAPI, processPropertySchemaContainerTypes, processPropertySchemaTypes, readLanguageArguments, removeNonNameElementToCamelCase, removeNonNameElementToCamelCase, reservedWords, reservedWordsMappings, sanitizeName, sanitizeTag, setAllowUnicodeIdentifiers, setApiPackage, setCommonTemplateDir, setEnsureUniqueParams, setGitRepoBaseURL, setGitRepoId, setGitUserId, setHideGenerationTimestamp, setHttpUserAgent, setIgnoreFilePathOverride, setIgnoreImportMapping, setInputSpec, setInputURL, setLanguageArguments, setLibrary, setModelNamePrefix, setModelNameSuffix, setModelPackage, setNonArrayMapProperty, setOutputDir, setParameterBooleanFlagWithCodegenProperty, setParameterExampleValue, setParameterJson, setParameterNullable, setReleaseNote, setRemoveOperationIdPrefix, setReservedWords, setReservedWordsLowerCase, setSchemaProperties, setSkipOverwrite, setSortParamsByRequiredFlag, setTemplateDir, setTemplateEngine, setTemplateVersion, setUnflattenedOpenAPI, setUseOas2, shouldOverwrite, snakeCase, supportedLibraries, supportingFiles, templateDir, testPackage, toApiDocFilename, toApiFilename, toApiImport, toApiName, toApiTestFilename, toApiVarName, toBooleanGetter, toDefaultValue, toDefaultValueWithParam, toEnumDefaultValue, toExamples, toExampleValue, toGetter, toModelDocFilename, toModelFilename, toModelTestFilename, toOperationId, toParamName, toRegularExpression, toSetter, typeMapping, underscore, updateCodegenPropertyEnum, updateDataTypeWithEnumForArray, updateDataTypeWithEnumForMap, updatePropertyForArray, updatePropertyForMap, vendorExtensions, writeOptional, writeOptional, writePropertyBack
-
-
-
-
Method Detail
-
addOption
protected void addOption(String key, String description)
- Overrides:
addOptionin classDefaultCodegenConfig
-
addOption
protected void addOption(String key, String description, String defaultValue)
- Overrides:
addOptionin classDefaultCodegenConfig
-
addSwitch
protected void addSwitch(String key, String description, Boolean defaultValue)
- Overrides:
addSwitchin classDefaultCodegenConfig
-
getArgumentsLocation
public String getArgumentsLocation()
- Overrides:
getArgumentsLocationin classDefaultCodegenConfig
-
apiDocFileFolder
public String apiDocFileFolder()
- Specified by:
apiDocFileFolderin interfaceio.swagger.codegen.v3.CodegenConfig- Overrides:
apiDocFileFolderin classDefaultCodegenConfig
-
apiFileFolder
public String apiFileFolder()
- Specified by:
apiFileFolderin interfaceio.swagger.codegen.v3.CodegenConfig- Overrides:
apiFileFolderin classDefaultCodegenConfig
-
escapeQuotationMark
public String escapeQuotationMark(String input)
Description copied from class:DefaultCodegenConfigEscape single and/or double quote to avoid code injection- Specified by:
escapeQuotationMarkin interfaceio.swagger.codegen.v3.CodegenConfig- Overrides:
escapeQuotationMarkin classDefaultCodegenConfig- Parameters:
input- String to be cleaned up- Returns:
- string with quotation mark removed or escaped
-
escapeReservedWord
public String escapeReservedWord(String name)
Description copied from class:DefaultCodegenConfigReturn the escaped name of the reserved word- Specified by:
escapeReservedWordin interfaceio.swagger.codegen.v3.CodegenConfig- Overrides:
escapeReservedWordin classDefaultCodegenConfig- Parameters:
name- the name to be escaped- Returns:
- the escaped reserved word throws Runtime exception as reserved word is not allowed (default behavior)
-
escapeUnsafeCharacters
public String escapeUnsafeCharacters(String input)
Description copied from class:DefaultCodegenConfigoverride with any special text escaping logic to handle unsafe characters so as to avoid code injection- Specified by:
escapeUnsafeCharactersin interfaceio.swagger.codegen.v3.CodegenConfig- Overrides:
escapeUnsafeCharactersin classDefaultCodegenConfig- Parameters:
input- String to be cleaned up- Returns:
- string with unsafe characters removed or escaped
-
updateCodegenModelEnumVars
protected void updateCodegenModelEnumVars(io.swagger.codegen.v3.CodegenModel codegenModel)
Description copied from class:DefaultCodegenConfigupdate codegen property enum with proper naming convention and handling of numbers, special characters- Overrides:
updateCodegenModelEnumVarsin classDefaultCodegenConfig
-
getTypeDeclaration
public String getTypeDeclaration(io.swagger.v3.oas.models.media.Schema propertySchema)
Output the type declaration of the property- Specified by:
getTypeDeclarationin interfaceio.swagger.codegen.v3.CodegenConfig- Overrides:
getTypeDeclarationin classDefaultCodegenConfig- Parameters:
propertySchema- Swagger Property object- Returns:
- a string presentation of the property type
-
getAlias
public String getAlias(String name)
Description copied from class:DefaultCodegenConfigDetermine the type alias for the given type if it exists. This feature is only used for Java, because the language does not have a aliasing mechanism of its own.- Overrides:
getAliasin classDefaultCodegenConfig- Parameters:
name- The type name.- Returns:
- The alias of the given type, if it exists. If there is no alias for this type, then returns the input type name.
-
getSchemaType
public String getSchemaType(io.swagger.v3.oas.models.media.Schema schema)
Description copied from class:DefaultCodegenConfigreturns the swagger type for the property- Overrides:
getSchemaTypein classDefaultCodegenConfig- Parameters:
schema- Schema property object- Returns:
- string presentation of the type
-
modelDocFileFolder
public String modelDocFileFolder()
- Specified by:
modelDocFileFolderin interfaceio.swagger.codegen.v3.CodegenConfig- Overrides:
modelDocFileFolderin classDefaultCodegenConfig
-
modelFileFolder
public String modelFileFolder()
- Specified by:
modelFileFolderin interfaceio.swagger.codegen.v3.CodegenConfig- Overrides:
modelFileFolderin classDefaultCodegenConfig
-
postProcessModels
public Map<String,Object> postProcessModels(Map<String,Object> objs)
- Specified by:
postProcessModelsin interfaceio.swagger.codegen.v3.CodegenConfig- Overrides:
postProcessModelsin classDefaultCodegenConfig
-
processOpts
public void processOpts()
- Specified by:
processOptsin interfaceio.swagger.codegen.v3.CodegenConfig- Overrides:
processOptsin classDefaultCodegenConfig
-
setArtifactId
public void setArtifactId(String artifactId)
-
setArtifactVersion
public void setArtifactVersion(String artifactVersion)
-
setGroupId
public void setGroupId(String groupId)
-
setPackageName
public void setPackageName(String packageName)
-
setSourceFolder
public void setSourceFolder(String sourceFolder)
-
toEnumVarName
public String toEnumVarName(String value, String datatype)
Return the sanitized variable name for enum- Overrides:
toEnumVarNamein classDefaultCodegenConfig- Parameters:
value- enum variable namedatatype- data type- Returns:
- the sanitized variable name for enum
-
toEnumValue
public String toEnumValue(String value, String datatype)
Description copied from class:DefaultCodegenConfigReturn the enum value in the language specified format e.g. status becomes "status"- Overrides:
toEnumValuein classDefaultCodegenConfig- Parameters:
value- enum variable namedatatype- data type- Returns:
- the sanitized value for enum
-
isPrimivite
public boolean isPrimivite(String datatype)
- Overrides:
isPrimivitein classDefaultCodegenConfig
-
toInstantiationType
public String toInstantiationType(io.swagger.v3.oas.models.media.Schema p)
Description copied from class:DefaultCodegenConfigReturn the instantiation type of the property, especially for map and array- Overrides:
toInstantiationTypein classDefaultCodegenConfig- Parameters:
p- Swagger property object- Returns:
- string presentation of the instantiation type of the property
-
toModelImport
public String toModelImport(String name)
Return the fully-qualified "Model" name for import- Specified by:
toModelImportin interfaceio.swagger.codegen.v3.CodegenConfig- Overrides:
toModelImportin classDefaultCodegenConfig- Parameters:
name- the name of the "Model"- Returns:
- the fully-qualified "Model" name for import
-
toModelName
public String toModelName(String name)
Output the proper model name (capitalized). In case the name belongs to the TypeSystem it won't be renamed.- Specified by:
toModelNamein interfaceio.swagger.codegen.v3.CodegenConfig- Overrides:
toModelNamein classDefaultCodegenConfig- Parameters:
name- the name of the model- Returns:
- capitalized model name
-
toVarName
public String toVarName(String name)
Description copied from class:DefaultCodegenConfigReturn the variable name by removing invalid characters and proper escaping if it's a reserved word.- Overrides:
toVarNamein classDefaultCodegenConfig- Parameters:
name- the variable name- Returns:
- the sanitized variable name
-
toEnumName
public String toEnumName(io.swagger.codegen.v3.CodegenProperty property)
Description copied from class:DefaultCodegenConfigReturn the Enum name (e.g. StatusEnum given 'status')- Overrides:
toEnumNamein classDefaultCodegenConfig- Parameters:
property- Codegen property- Returns:
- the Enum name
-
addHandlebarHelpers
public void addHandlebarHelpers(com.github.jknack.handlebars.Handlebars handlebars)
- Specified by:
addHandlebarHelpersin interfaceio.swagger.codegen.v3.CodegenConfig- Overrides:
addHandlebarHelpersin classDefaultCodegenConfig
-
isReservedWord
protected boolean isReservedWord(String word)
- Overrides:
isReservedWordin classDefaultCodegenConfig
-
needToImport
protected boolean needToImport(String type)
Check the type to see if it needs import the library/module/package- Overrides:
needToImportin classDefaultCodegenConfig- Parameters:
type- name of the type- Returns:
- true if the library/module/package of the corresponding type needs to be imported
-
-