public abstract class AbstractKotlinCodegen extends DefaultCodegen implements CodegenConfig
Modifier and Type | Class and Description |
---|---|
static class |
AbstractKotlinCodegen.SERIALIZATION_LIBRARY_TYPE |
Modifier and Type | Field and Description |
---|---|
protected String |
apiDocPath |
protected String |
apiSuffix |
protected String |
artifactId |
protected String |
artifactVersion |
protected CodegenConstants.ENUM_PROPERTY_NAMING_TYPE |
enumPropertyNaming |
protected String |
groupId |
protected String |
modelDocPath |
protected String |
packageName |
protected boolean |
parcelizeModels |
static String |
SERIALIZATION_LIBRARY_DESC |
protected AbstractKotlinCodegen.SERIALIZATION_LIBRARY_TYPE |
serializationLibrary |
protected String |
sourceFolder |
protected String |
testFolder |
additionalProperties, allowUnicodeIdentifiers, apiDocTemplateFiles, apiPackage, apiTemplateFiles, apiTestTemplateFiles, cliOptions, commonTemplateDir, defaultIncludes, docExtension, embeddedTemplateDir, enableMinimalUpdate, enablePostProcessFile, ensureUniqueParams, fileSuffix, generatorMetadata, gitHost, gitRepoId, gitUserId, hideGenerationTimestamp, httpUserAgent, ignoreFilePathOverride, importMapping, inputSpec, instantiationTypes, languageSpecificPrimitives, library, modelDocTemplateFiles, modelNamePrefix, modelNameSuffix, modelPackage, modelTemplateFiles, modelTestTemplateFiles, openAPI, outputFolder, prependFormOrBodyParameters, releaseNote, removeOperationIdPrefix, reservedWords, reservedWordsMappings, serverVariables, skipOverwrite, sortParamsByRequiredFlag, specialCharReplacements, strictSpecBehavior, supportedLibraries, supportingFiles, supportsInheritance, supportsMixins, supportsMultipleInheritance, templateDir, testPackage, typeAliases, typeMapping, vendorExtensions
Constructor and Description |
---|
AbstractKotlinCodegen() |
Modifier and Type | Method and Description |
---|---|
String |
apiDocFileFolder() |
String |
apiFileFolder() |
String |
apiTestFileFolder() |
String |
escapeQuotationMark(String input)
Escape single and/or double quote to avoid code injection
|
String |
escapeReservedWord(String name)
Return the escaped name of the reserved word
|
String |
escapeUnsafeCharacters(String input)
override with any special text escaping logic to handle unsafe
characters so as to avoid code injection
|
CodegenConstants.ENUM_PROPERTY_NAMING_TYPE |
getEnumPropertyNaming() |
Boolean |
getParcelizeModels() |
String |
getSchemaType(io.swagger.v3.oas.models.media.Schema p)
returns the swagger type for the property
|
AbstractKotlinCodegen.SERIALIZATION_LIBRARY_TYPE |
getSerializationLibrary() |
String |
getTypeDeclaration(io.swagger.v3.oas.models.media.Schema p)
Output the type declaration of the property
|
boolean |
isDataTypeString(String dataType)
checks if the data should be classified as "string" in enum
e.g.
|
protected boolean |
isReservedWord(String word) |
String |
modelDocFileFolder() |
String |
modelFileFolder() |
protected boolean |
needToImport(String type)
Check the type to see if it needs import the library/module/package
|
void |
postProcessFile(File file,
String fileType)
Post-process the auto-generated file, e.g.
|
Map<String,Object> |
postProcessModels(Map<String,Object> objs) |
void |
processOpts() |
void |
setApiSuffix(String apiSuffix) |
void |
setArtifactId(String artifactId) |
void |
setArtifactVersion(String artifactVersion) |
void |
setEnumPropertyNaming(String enumPropertyNamingType)
Sets the naming convention for Kotlin enum properties
|
void |
setGroupId(String groupId) |
void |
setPackageName(String packageName) |
void |
setParcelizeModels(Boolean parcelizeModels) |
void |
setSerializationLibrary(String enumSerializationLibrary)
Sets the serialization engine for Kotlin
|
void |
setSourceFolder(String sourceFolder) |
void |
setTestFolder(String testFolder) |
String |
toApiName(String name)
Output the API (class) name (capitalized) ending with "Api"
Return DefaultApi if name is empty
|
String |
toDefaultValue(io.swagger.v3.oas.models.media.Schema p)
Return the default value of the property
|
String |
toEnumValue(String value,
String datatype)
Return the enum value in the language specified format
e.g.
|
String |
toEnumVarName(String value,
String datatype)
Return the sanitized variable name for enum
|
String |
toInstantiationType(io.swagger.v3.oas.models.media.Schema p)
Return the instantiation type of the property, especially for map and array
|
String |
toModelFilename(String name)
Return the capitalized file name of the model
|
String |
toModelImport(String name)
Return the fully-qualified "Model" name for import
|
String |
toModelName(String name)
Output the proper model name (capitalized).
|
String |
toOperationId(String operationId)
Return the operation ID (method name)
|
String |
toParamName(String name)
Return the parameter name by removing invalid characters and proper escaping if
it's a reserved word.
|
String |
toRegularExpression(String pattern)
Return the regular expression/JSON schema pattern (http://json-schema.org/latest/json-schema-validation.html#anchor33)
|
String |
toVarName(String name)
Return the variable name by removing invalid characters and proper escaping if
it's a reserved word.
|
addAdditionPropertiesToCodeGenModel, addImport, additionalProperties, addMustacheLambdas, addOperationToGroup, addOption, addProperties, addRegularExpressionDelimiter, addSwitch, apiDocFilename, apiDocTemplateFiles, apiFilename, apiPackage, apiTemplateFiles, apiTestFilename, apiTestTemplateFiles, buildLibraryCliOption, cliOptions, convertPropertyToBoolean, convertPropertyToBooleanAndWriteBack, defaultIncludes, embeddedTemplateDir, encodePath, escapeText, escapeTextWhileAllowingNewLines, fileSuffix, findCommonPrefixOfVars, findMethodResponse, fromCallback, fromFormProperty, fromModel, fromOperation, fromParameter, fromProperty, fromRequestBody, fromRequestBodyToFormParameters, fromResponse, fromSecurity, fromServers, fromServerVariables, generateExamplePath, generateJSONSpecFile, generateYAMLSpecFile, getAlias, getAllowUnicodeIdentifiers, getCollectionFormat, getCommonTemplateDir, getConsumesInfo, getContentType, getDocExtension, getEnsureUniqueParams, getGeneratorMetadata, getGitHost, getGitRepoId, getGitUserId, getHelp, getHttpUserAgent, getIgnoreFilePathOverride, getInnerEnumAllowableValues, getInputSpec, getLibrary, getModelNamePrefix, getModelNameSuffix, getMostInnerItems, getName, getOrGenerateOperationId, getOutputDir, getParameterDataType, getPrependFormOrBodyParameters, getProducesInfo, getReleaseNote, getSchemaItems, getSortParamsByRequiredFlag, getSymbolName, getTag, getTemplatingEngine, getterAndSetterCapitalize, getTypeDeclaration, hasBodyParameter, hasFormParameter, importMapping, initalizeSpecialCharacterMapping, instantiationTypes, isDataTypeBinary, isDataTypeFile, isEnableMinimalUpdate, isEnablePostProcessFile, isHideGenerationTimestamp, isParameterNameUnique, isPropertyInnerMostEnum, isRemoveOperationIdPrefix, isSkipOverwrite, isStrictSpecBehavior, languageSpecificPrimitives, lowerCamelCase, modelDocTemplateFiles, modelPackage, modelTemplateFiles, modelTestFileFolder, modelTestTemplateFiles, outputFolder, postProcessAllModels, postProcessModelProperty, postProcessModelsEnum, postProcessOperationsWithModels, postProcessParameter, postProcessSupportingFileData, preprocessOpenAPI, processCompiler, processOpenAPI, processTemplatingEngine, removeNonNameElementToCamelCase, removeNonNameElementToCamelCase, removeOption, reservedWords, reservedWordsMappings, sanitizeName, sanitizeName, sanitizeName, sanitizeTag, serverVariableOverrides, setAllowUnicodeIdentifiers, setApiPackage, setCommonTemplateDir, setDocExtension, setEnableMinimalUpdate, setEnablePostProcessFile, setEnsureUniqueParams, setGitHost, setGitRepoId, setGitUserId, setHideGenerationTimestamp, setHttpUserAgent, setIgnoreFilePathOverride, setInputSpec, setLibrary, setModelNamePrefix, setModelNameSuffix, setModelPackage, setNonArrayMapProperty, setOpenAPI, setOutputDir, setParameterBooleanFlagWithCodegenProperty, setParameterExampleValue, setParameterExampleValue, setParameterExampleValue, setPrependFormOrBodyParameters, setReleaseNote, setRemoveOperationIdPrefix, setReservedWordsLowerCase, setSkipOverwrite, setSortParamsByRequiredFlag, setStrictSpecBehavior, setTemplateDir, setTemplatingEngine, shouldOverwrite, supportedLibraries, supportingFiles, templateDir, testPackage, toAllOfName, toAnyOfName, toApiDocFilename, toApiFilename, toApiImport, toApiTestFilename, toApiVarName, toArrayModelParamName, toBooleanGetter, toDefaultValueWithParam, toEnumDefaultValue, toEnumName, toExamples, toExampleValue, toGetter, toModelDocFilename, toModelTestFilename, toOneOfName, toSetter, typeMapping, updateAllModels, updateCodegenPropertyEnum, updateDataTypeWithEnumForArray, updateDataTypeWithEnumForMap, updateOption, updatePropertyForArray, updatePropertyForMap, vendorExtensions, writeOptional, writePropertyBack
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
additionalProperties, addOperationToGroup, apiDocFilename, apiDocTemplateFiles, apiFilename, apiPackage, apiTemplateFiles, apiTestFilename, apiTestTemplateFiles, cliOptions, defaultIncludes, embeddedTemplateDir, encodePath, escapeText, escapeTextWhileAllowingNewLines, fileSuffix, fromModel, fromOperation, fromSecurity, fromServers, fromServerVariables, generateExamplePath, getCommonTemplateDir, getDocExtension, getGeneratorMetadata, getGitHost, getGitRepoId, getGitUserId, getHelp, getHttpUserAgent, getIgnoreFilePathOverride, getInputSpec, getLibrary, getName, getOutputDir, getReleaseNote, getTag, getTemplatingEngine, getTypeDeclaration, importMapping, instantiationTypes, isEnableMinimalUpdate, isEnablePostProcessFile, isHideGenerationTimestamp, isRemoveOperationIdPrefix, isSkipOverwrite, isStrictSpecBehavior, languageSpecificPrimitives, modelDocTemplateFiles, modelPackage, modelTemplateFiles, modelTestFileFolder, modelTestTemplateFiles, outputFolder, postProcessAllModels, postProcessModelProperty, postProcessOperationsWithModels, postProcessParameter, postProcessSupportingFileData, preprocessOpenAPI, processCompiler, processOpenAPI, processTemplatingEngine, reservedWords, reservedWordsMappings, sanitizeName, sanitizeTag, serverVariableOverrides, setDocExtension, setEnableMinimalUpdate, setEnablePostProcessFile, setGitHost, setGitRepoId, setGitUserId, setHideGenerationTimestamp, setHttpUserAgent, setIgnoreFilePathOverride, setInputSpec, setLibrary, setOpenAPI, setOutputDir, setReleaseNote, setRemoveOperationIdPrefix, setSkipOverwrite, setStrictSpecBehavior, setTemplatingEngine, shouldOverwrite, supportedLibraries, supportingFiles, templateDir, testPackage, toApiDocFilename, toApiFilename, toApiImport, toApiTestFilename, toApiVarName, toBooleanGetter, toGetter, toModelDocFilename, toModelTestFilename, toSetter, typeMapping, updateAllModels, vendorExtensions
public static final String SERIALIZATION_LIBRARY_DESC
protected String artifactId
protected String artifactVersion
protected String groupId
protected String packageName
protected String apiSuffix
protected String sourceFolder
protected String testFolder
protected String apiDocPath
protected String modelDocPath
protected boolean parcelizeModels
protected CodegenConstants.ENUM_PROPERTY_NAMING_TYPE enumPropertyNaming
protected AbstractKotlinCodegen.SERIALIZATION_LIBRARY_TYPE serializationLibrary
public String apiDocFileFolder()
apiDocFileFolder
in interface CodegenConfig
apiDocFileFolder
in class DefaultCodegen
public String apiFileFolder()
apiFileFolder
in interface CodegenConfig
apiFileFolder
in class DefaultCodegen
public String apiTestFileFolder()
apiTestFileFolder
in interface CodegenConfig
apiTestFileFolder
in class DefaultCodegen
public String escapeQuotationMark(String input)
DefaultCodegen
escapeQuotationMark
in interface CodegenConfig
escapeQuotationMark
in class DefaultCodegen
input
- String to be cleaned uppublic String escapeReservedWord(String name)
DefaultCodegen
escapeReservedWord
in interface CodegenConfig
escapeReservedWord
in class DefaultCodegen
name
- the name to be escapedthrows Runtime exception as reserved word is not allowed (default behavior)
public String escapeUnsafeCharacters(String input)
DefaultCodegen
escapeUnsafeCharacters
in interface CodegenConfig
escapeUnsafeCharacters
in class DefaultCodegen
input
- String to be cleaned uppublic CodegenConstants.ENUM_PROPERTY_NAMING_TYPE getEnumPropertyNaming()
public AbstractKotlinCodegen.SERIALIZATION_LIBRARY_TYPE getSerializationLibrary()
public void setEnumPropertyNaming(String enumPropertyNamingType)
enumPropertyNamingType
- The string representation of the naming convention, as defined by CodegenConstants.ENUM_PROPERTY_NAMING_TYPE
public void setSerializationLibrary(String enumSerializationLibrary)
enumSerializationLibrary
- The string representation of the serialization library as defined by
AbstractKotlinCodegen.SERIALIZATION_LIBRARY_TYPE
public String getSchemaType(io.swagger.v3.oas.models.media.Schema p)
getSchemaType
in class DefaultCodegen
p
- Swagger property objectpublic String getTypeDeclaration(io.swagger.v3.oas.models.media.Schema p)
getTypeDeclaration
in interface CodegenConfig
getTypeDeclaration
in class DefaultCodegen
p
- Swagger Property objectpublic String modelDocFileFolder()
modelDocFileFolder
in interface CodegenConfig
modelDocFileFolder
in class DefaultCodegen
public String modelFileFolder()
modelFileFolder
in interface CodegenConfig
modelFileFolder
in class DefaultCodegen
public Map<String,Object> postProcessModels(Map<String,Object> objs)
postProcessModels
in interface CodegenConfig
postProcessModels
in class DefaultCodegen
public void processOpts()
processOpts
in interface CodegenConfig
processOpts
in class DefaultCodegen
public void setArtifactId(String artifactId)
public void setArtifactVersion(String artifactVersion)
public void setGroupId(String groupId)
public void setPackageName(String packageName)
public void setApiSuffix(String apiSuffix)
public void setSourceFolder(String sourceFolder)
public void setTestFolder(String testFolder)
public Boolean getParcelizeModels()
public void setParcelizeModels(Boolean parcelizeModels)
public String toEnumVarName(String value, String datatype)
toEnumVarName
in class DefaultCodegen
value
- enum variable namedatatype
- data typepublic String toInstantiationType(io.swagger.v3.oas.models.media.Schema p)
DefaultCodegen
toInstantiationType
in class DefaultCodegen
p
- property schemapublic String toApiName(String name)
DefaultCodegen
toApiName
in interface CodegenConfig
toApiName
in class DefaultCodegen
name
- the name of the Apipublic String toModelImport(String name)
toModelImport
in interface CodegenConfig
toModelImport
in class DefaultCodegen
name
- the name of the "Model"public String toModelName(String name)
toModelName
in interface CodegenConfig
toModelName
in class DefaultCodegen
name
- the name of the modelpublic String toOperationId(String operationId)
toOperationId
in class DefaultCodegen
operationId
- operation IDpublic String toModelFilename(String name)
DefaultCodegen
toModelFilename
in interface CodegenConfig
toModelFilename
in class DefaultCodegen
name
- the model nameprotected boolean isReservedWord(String word)
isReservedWord
in class DefaultCodegen
protected boolean needToImport(String type)
needToImport
in class DefaultCodegen
type
- name of the typepublic String toEnumValue(String value, String datatype)
DefaultCodegen
toEnumValue
in class DefaultCodegen
value
- enum variable namedatatype
- data typepublic boolean isDataTypeString(String dataType)
DefaultCodegen
isDataTypeString
in class DefaultCodegen
dataType
- data typepublic String toParamName(String name)
DefaultCodegen
toParamName
in interface CodegenConfig
toParamName
in class DefaultCodegen
name
- Codegen property objectpublic String toVarName(String name)
DefaultCodegen
toVarName
in class DefaultCodegen
name
- the variable namepublic String toRegularExpression(String pattern)
DefaultCodegen
toRegularExpression
in class DefaultCodegen
pattern
- the pattern (regular expression)public void postProcessFile(File file, String fileType)
DefaultCodegen
TODO: store these values in enum instead
postProcessFile
in interface CodegenConfig
postProcessFile
in class DefaultCodegen
file
- file to be processedfileType
- file typepublic String toDefaultValue(io.swagger.v3.oas.models.media.Schema p)
DefaultCodegen
toDefaultValue
in class DefaultCodegen
p
- Property schemaCopyright © 2019. All rights reserved.