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 |
static String |
MODEL_MUTABLE |
static String |
MODEL_MUTABLE_DESC |
protected String |
modelDocPath |
protected boolean |
needsDataClassBody |
protected boolean |
nonPublicApi |
protected String |
packageName |
protected boolean |
parcelizeModels |
protected boolean |
serializableModel |
static String |
SERIALIZATION_LIBRARY_DESC |
protected AbstractKotlinCodegen.SERIALIZATION_LIBRARY_TYPE |
serializationLibrary |
protected String |
sourceFolder |
protected String |
testFolder |
additionalProperties, allowUnicodeIdentifiers, apiDocTemplateFiles, apiNameSuffix, apiPackage, apiTemplateFiles, apiTestTemplateFiles, cliOptions, commonTemplateDir, DefaultFeatureSet, defaultIncludes, docExtension, embeddedTemplateDir, enableMinimalUpdate, enablePostProcessFile, ensureUniqueParams, featureSet, 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, sortModelPropertiesByRequiredFlag, 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
|
CodegenModel |
fromModel(String name,
io.swagger.v3.oas.models.media.Schema schema)
Convert OAS Model object to Codegen Model object
|
CodegenConstants.ENUM_PROPERTY_NAMING_TYPE |
getEnumPropertyNaming() |
Boolean |
getParcelizeModels() |
String |
getSchemaType(io.swagger.v3.oas.models.media.Schema p)
returns the OpenAPI 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.
|
boolean |
isNeedsDataClassBody() |
protected boolean |
isReservedWord(String word) |
boolean |
isSerializableModel() |
String |
modelDocFileFolder() |
String |
modelFileFolder() |
protected boolean |
needToImport(String type)
Check the type to see if it needs import the library/module/package
|
boolean |
nonPublicApi() |
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 |
setNeedsDataClassBody(boolean needsDataClassBody) |
void |
setNonPublicApi(boolean nonPublicApi) |
void |
setPackageName(String packageName) |
void |
setParcelizeModels(Boolean parcelizeModels) |
void |
setSerializableModel(boolean serializableModel) |
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 the specified or default suffix
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, addHeaders, addImport, additionalProperties, addMustacheLambdas, addOperationToGroup, addOption, addParentContainer, addProperties, addRegularExpressionDelimiter, addSwitch, apiDocFilename, apiDocTemplateFiles, apiFilename, apiPackage, apiTemplateFiles, apiTestFilename, apiTestTemplateFiles, buildLibraryCliOption, cliOptions, convertPropertyToBoolean, convertPropertyToBooleanAndWriteBack, defaultIncludes, embeddedTemplateDir, encodePath, escapeText, escapeTextWhileAllowingNewLines, fileSuffix, findCommonPrefixOfVars, findMethodResponse, fromCallback, fromFormProperty, fromOperation, fromParameter, fromProperty, fromRequestBody, fromRequestBodyToFormParameters, fromResponse, fromSecurity, fromServers, fromServerVariables, generateExamplePath, generateJSONSpecFile, generateYAMLSpecFile, getAlias, getAllModels, getAllowUnicodeIdentifiers, getApiNameSuffix, getCollectionFormat, getCommonTemplateDir, getConsumesInfo, getContentType, getDocExtension, getEnsureUniqueParams, getFeatureSet, getGeneratorMetadata, getGitHost, getGitRepoId, getGitUserId, getHelp, getHttpUserAgent, getIgnoreFilePathOverride, getInnerEnumAllowableValues, getInputSpec, getLibrary, getModelNamePrefix, getModelNameSuffix, getMostInnerItems, getName, getOrGenerateOperationId, getOutputDir, getParameterDataType, getPrependFormOrBodyParameters, getProducesInfo, getReleaseNote, getSchemaItems, getSortModelPropertiesByRequiredFlag, getSortParamsByRequiredFlag, getSymbolName, getTag, getTemplatingEngine, getterAndSetterCapitalize, getTypeDeclaration, handleMethodResponse, 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, setApiNameSuffix, setApiPackage, setCircularReferences, setCommonTemplateDir, setDocExtension, setEnableMinimalUpdate, setEnablePostProcessFile, setEnsureUniqueParams, setFeatureSet, setGitHost, setGitRepoId, setGitUserId, setHideGenerationTimestamp, setHttpUserAgent, setIgnoreFilePathOverride, setInputSpec, setLibrary, setModelNamePrefix, setModelNameSuffix, setModelPackage, setNonArrayMapProperty, setOpenAPI, setOutputDir, setParameterBooleanFlagWithCodegenProperty, setParameterExampleValue, setParameterExampleValue, setParameterExampleValue, setPrependFormOrBodyParameters, setReleaseNote, setRemoveOperationIdPrefix, setReservedWordsLowerCase, setSkipOverwrite, setSortModelPropertiesByRequiredFlag, 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, updateEnumVarsWithExtensions, updateOption, updatePropertyForArray, updatePropertyForMap, vendorExtensions, writeOptional, writePropertyBackclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitadditionalProperties, addOperationToGroup, apiDocFilename, apiDocTemplateFiles, apiFilename, apiPackage, apiTemplateFiles, apiTestFilename, apiTestTemplateFiles, cliOptions, defaultIncludes, embeddedTemplateDir, encodePath, escapeText, escapeTextWhileAllowingNewLines, fileSuffix, fromOperation, fromSecurity, fromServers, fromServerVariables, generateExamplePath, getCommonTemplateDir, getDocExtension, getFeatureSet, 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, setFeatureSet, 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, vendorExtensionspublic static final String SERIALIZATION_LIBRARY_DESC
public static final String MODEL_MUTABLE
public static final String MODEL_MUTABLE_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 boolean serializableModel
protected boolean needsDataClassBody
protected boolean nonPublicApi
protected CodegenConstants.ENUM_PROPERTY_NAMING_TYPE enumPropertyNaming
protected AbstractKotlinCodegen.SERIALIZATION_LIBRARY_TYPE serializationLibrary
public String apiDocFileFolder()
apiDocFileFolder in interface CodegenConfigapiDocFileFolder in class DefaultCodegenpublic String apiFileFolder()
apiFileFolder in interface CodegenConfigapiFileFolder in class DefaultCodegenpublic String apiTestFileFolder()
apiTestFileFolder in interface CodegenConfigapiTestFileFolder in class DefaultCodegenpublic String escapeQuotationMark(String input)
DefaultCodegenescapeQuotationMark in interface CodegenConfigescapeQuotationMark in class DefaultCodegeninput - String to be cleaned uppublic String escapeReservedWord(String name)
DefaultCodegenescapeReservedWord in interface CodegenConfigescapeReservedWord in class DefaultCodegenname - the name to be escapedthrows Runtime exception as reserved word is not allowed (default behavior)
public String escapeUnsafeCharacters(String input)
DefaultCodegenescapeUnsafeCharacters in interface CodegenConfigescapeUnsafeCharacters in class DefaultCodegeninput - 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_TYPEpublic void setSerializationLibrary(String enumSerializationLibrary)
enumSerializationLibrary - The string representation of the serialization library as defined by
AbstractKotlinCodegen.SERIALIZATION_LIBRARY_TYPEpublic String getSchemaType(io.swagger.v3.oas.models.media.Schema p)
getSchemaType in class DefaultCodegenp - OpenAPI property objectpublic String getTypeDeclaration(io.swagger.v3.oas.models.media.Schema p)
getTypeDeclaration in interface CodegenConfiggetTypeDeclaration in class DefaultCodegenp - OpenAPI Property objectpublic String modelDocFileFolder()
modelDocFileFolder in interface CodegenConfigmodelDocFileFolder in class DefaultCodegenpublic String modelFileFolder()
modelFileFolder in interface CodegenConfigmodelFileFolder in class DefaultCodegenpublic Map<String,Object> postProcessModels(Map<String,Object> objs)
postProcessModels in interface CodegenConfigpostProcessModels in class DefaultCodegenpublic void processOpts()
processOpts in interface CodegenConfigprocessOpts in class DefaultCodegenpublic 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 boolean isSerializableModel()
public void setSerializableModel(boolean serializableModel)
public boolean nonPublicApi()
public void setNonPublicApi(boolean nonPublicApi)
public boolean isNeedsDataClassBody()
public void setNeedsDataClassBody(boolean needsDataClassBody)
public String toEnumVarName(String value, String datatype)
toEnumVarName in class DefaultCodegenvalue - enum variable namedatatype - data typepublic String toInstantiationType(io.swagger.v3.oas.models.media.Schema p)
DefaultCodegentoInstantiationType in class DefaultCodegenp - property schemapublic String toApiName(String name)
DefaultCodegentoApiName in interface CodegenConfigtoApiName in class DefaultCodegenname - the name of the Apipublic String toModelImport(String name)
toModelImport in interface CodegenConfigtoModelImport in class DefaultCodegenname - the name of the "Model"public String toModelName(String name)
toModelName in interface CodegenConfigtoModelName in class DefaultCodegenname - the name of the modelpublic String toOperationId(String operationId)
toOperationId in class DefaultCodegenoperationId - operation IDpublic String toModelFilename(String name)
DefaultCodegentoModelFilename in interface CodegenConfigtoModelFilename in class DefaultCodegenname - the model nameprotected boolean isReservedWord(String word)
isReservedWord in class DefaultCodegenprotected boolean needToImport(String type)
needToImport in class DefaultCodegentype - name of the typepublic CodegenModel fromModel(String name, io.swagger.v3.oas.models.media.Schema schema)
DefaultCodegenfromModel in interface CodegenConfigfromModel in class DefaultCodegenname - the name of the modelschema - OAS Model objectpublic String toEnumValue(String value, String datatype)
DefaultCodegentoEnumValue in class DefaultCodegenvalue - enum variable namedatatype - data typepublic boolean isDataTypeString(String dataType)
DefaultCodegenisDataTypeString in class DefaultCodegendataType - data typepublic String toParamName(String name)
DefaultCodegentoParamName in interface CodegenConfigtoParamName in class DefaultCodegenname - Codegen property objectpublic String toVarName(String name)
DefaultCodegentoVarName in class DefaultCodegenname - the variable namepublic String toRegularExpression(String pattern)
DefaultCodegentoRegularExpression in class DefaultCodegenpattern - the pattern (regular expression)public void postProcessFile(File file, String fileType)
DefaultCodegenTODO: store these values in enum instead
postProcessFile in interface CodegenConfigpostProcessFile in class DefaultCodegenfile - file to be processedfileType - file typepublic String toDefaultValue(io.swagger.v3.oas.models.media.Schema p)
DefaultCodegentoDefaultValue in class DefaultCodegenp - Property schemaCopyright © 2020. All rights reserved.