Class AbstractKotlinCodegen
- java.lang.Object
-
- org.openapitools.codegen.DefaultCodegen
-
- org.openapitools.codegen.languages.AbstractKotlinCodegen
-
- All Implemented Interfaces:
CodegenConfig
- Direct Known Subclasses:
KotlinClientCodegen
,KotlinServerCodegen
,KotlinSpringServerCodegen
,KotlinVertxServerCodegen
,KtormSchemaCodegen
public abstract class AbstractKotlinCodegen extends DefaultCodegen implements CodegenConfig
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
AbstractKotlinCodegen.SERIALIZATION_LIBRARY_TYPE
-
Field Summary
Fields Modifier and Type Field Description static String
ADDITIONAL_MODEL_TYPE_ANNOTATIONS
protected List<String>
additionalModelTypeAnnotations
protected String
apiDocPath
protected String
apiSuffix
protected String
artifactId
protected String
artifactVersion
protected CodegenConstants.ENUM_PROPERTY_NAMING_TYPE
enumPropertyNaming
protected String
groupId
static String
JAVAX_PACKAGE
static String
MODEL_MUTABLE
static String
MODEL_MUTABLE_DESC
protected String
modelDocPath
protected boolean
nonPublicApi
protected String
packageName
protected boolean
parcelizeModels
protected Set<String>
propertyAdditionalKeywords
protected String
resourcesFolder
protected boolean
serializableModel
static String
SERIALIZATION_LIBRARY_DESC
protected AbstractKotlinCodegen.SERIALIZATION_LIBRARY_TYPE
serializationLibrary
protected String
sourceFolder
protected String
testFolder
static String
USE_JAKARTA_EE
protected boolean
useJakartaEe
-
Fields inherited from class org.openapitools.codegen.DefaultCodegen
additionalProperties, addOneOfInterfaceImports, addOneOfInterfaces, addSuffixToDuplicateOperationNicknames, allowUnicodeIdentifiers, apiDocTemplateFiles, apiNamePrefix, apiNameSuffix, apiPackage, apiTemplateFiles, apiTestTemplateFiles, cliOptions, DefaultFeatureSet, defaultIncludes, disallowAdditionalPropertiesIfNotPresent, docExtension, embeddedTemplateDir, enableMinimalUpdate, enablePostProcessFile, ensureUniqueParams, 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, openapiNormalizer, outputFolder, parameterNameMapping, prependFormOrBodyParameters, releaseNote, removeEnumValuePrefix, removeOperationIdPrefix, removeOperationIdPrefixCount, removeOperationIdPrefixDelimiter, reservedWords, reservedWordsMappings, schemaMapping, serverVariables, skipOperationExample, skipOverwrite, sortModelPropertiesByRequiredFlag, sortParamsByRequiredFlag, specialCharReplacements, strictSpecBehavior, supportedLibraries, supportingFiles, supportsAdditionalPropertiesWithComposedSchema, supportsInheritance, supportsMixins, supportsMultipleInheritance, templateDir, testPackage, trueSchema, typeAliases, typeMapping, useOneOfInterfaces, vendorExtensions, versionMetadataFilename, XML_MIME_PATTERN
-
-
Constructor Summary
Constructors Constructor Description AbstractKotlinCodegen()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected com.google.common.collect.ImmutableMap.Builder<String,com.samskivert.mustache.Mustache.Lambda>
addMustacheLambdas()
Preset map builder with commonly used Mustache lambdas.String
apiDocFileFolder()
String
apiFileFolder()
String
apiTestFileFolder()
protected void
applyJakartaPackage()
protected void
applyJavaxPackage()
String
escapeQuotationMark(String input)
Escape single and/or double quote to avoid code injectionString
escapeReservedWord(String name)
Return the escaped name of the reserved wordString
escapeUnsafeCharacters(String input)
override with any special text escaping logic to handle unsafe characters so as to avoid code injectionCodegenModel
fromModel(String name, io.swagger.v3.oas.models.media.Schema schema)
Convert OAS Model object to Codegen Model object.GeneratorLanguage
generatorLanguage()
List<String>
getAdditionalModelTypeAnnotations()
CodegenConstants.ENUM_PROPERTY_NAMING_TYPE
getEnumPropertyNaming()
Boolean
getParcelizeModels()
String
getSchemaType(io.swagger.v3.oas.models.media.Schema p)
returns the OpenAPI type for the propertyAbstractKotlinCodegen.SERIALIZATION_LIBRARY_TYPE
getSerializationLibrary()
String
getTypeDeclaration(io.swagger.v3.oas.models.media.Schema p)
Output the type declaration of the propertyboolean
isDataTypeString(String dataType)
checks if the data should be classified as "string" in enum e.g.protected boolean
isModelMutable()
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/packageboolean
nonPublicApi()
Map<String,ModelsMap>
postProcessAllModels(Map<String,ModelsMap> objs)
void
postProcessFile(File file, String fileType)
Post-process the auto-generated file, e.g.ModelsMap
postProcessModels(ModelsMap objs)
void
processOpts()
void
setAdditionalModelTypeAnnotations(List<String> additionalModelTypeAnnotations)
void
setApiSuffix(String apiSuffix)
void
setArtifactId(String artifactId)
void
setArtifactVersion(String artifactVersion)
void
setEnumPropertyNaming(String enumPropertyNamingType)
Sets the naming convention for Kotlin enum propertiesvoid
setGroupId(String groupId)
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 Kotlinvoid
setSourceFolder(String sourceFolder)
void
setTestFolder(String testFolder)
void
setUseJakartaEe(boolean useJakartaEe)
String
toApiName(String name)
Output the API (class) name (capitalized) ending with the specified or default suffix Return DefaultApi if name is emptyString
toDefaultValue(io.swagger.v3.oas.models.media.Schema schema)
Return the default value of the propertyString
toEnumName(CodegenProperty property)
Return the Enum name (e.g.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 enumString
toModelFilename(String name)
Return the capitalized file name of the modelString
toModelImport(String name)
Return the fully-qualified "Model" name for importString
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)protected String
toVariableName(String name)
String
toVarName(String name)
Return the variable name by removing invalid characters and proper escaping if it's a reserved word.protected void
updateModelForObject(CodegenModel m, io.swagger.v3.oas.models.media.Schema schema)
-
Methods inherited from class org.openapitools.codegen.DefaultCodegen
addAdditionPropertiesToCodeGenModel, addBodyModelSchema, addHeaders, addImport, addImport, addImport, addImports, addImports, addImports, addImportsForPropertyType, addImportsToOneOfInterface, additionalProperties, addOneOfInterfaceModel, addOneOfNameExtension, addOperationToGroup, addOption, addOption, addParentContainer, addProperties, addRegularExpressionDelimiter, addRequiredVarsMap, addSwitch, addVars, addVars, addVarsRequiredVarsAdditionalProps, apiDocFilename, apiDocTemplateFiles, apiFilename, apiPackage, apiTemplateFiles, apiTestFilename, apiTestTemplateFiles, buildEnumVars, buildLibraryCliOption, cliOptions, convertPropertyToBoolean, convertPropertyToBooleanAndWriteBack, createDiscriminator, defaultIncludes, defaultTemplatingEngine, embeddedTemplateDir, encodePath, escapeText, escapeTextWhileAllowingNewLines, fileSuffix, findCommonPrefixOfVars, findMethodResponse, fromCallback, fromFormProperty, fromOperation, fromParameter, fromProperty, fromProperty, fromProperty, fromRequestBody, fromRequestBodyToFormParameters, fromResponse, fromSecurity, fromServers, fromServerVariables, generateExamplePath, generateJSONSpecFile, generateYAMLSpecFile, generatorLanguageVersion, getAdditionalPropertiesName, getAddSuffixToDuplicateOperationNicknames, getAlias, getAllModels, getAllOfDescendants, getAllowUnicodeIdentifiers, getApiNamePrefix, getApiNameSuffix, getCollectionFormat, getCollectionFormat, getConsumesInfo, getContent, getContentType, getDisallowAdditionalPropertiesIfNotPresent, getDocExtension, getEnsureUniqueParams, getEnumDefaultValue, getEnumUnknownDefaultCase, getFeatureSet, getFilesMetadataFilename, getGeneratorMetadata, getGitHost, getGitRepoId, getGitUserId, getHelp, getHttpUserAgent, getIgnoreFilePathOverride, getInnerEnumAllowableValues, getInputSpec, getItemsName, getLegacyDiscriminatorBehavior, getLibrary, getModelNamePrefix, getModelNameSuffix, getModelNameToSchemaCache, getMostInnerItems, getName, getOneOfAnyOfDescendants, getOrGenerateOperationId, getOutputDir, getParameterDataType, getPrependFormOrBodyParameters, getProducesInfo, getReleaseNote, getRemoveOperationIdPrefixCount, getRemoveOperationIdPrefixDelimiter, getSchemaAdditionalProperties, getSchemaFromBooleanOrSchema, getSchemaItems, getSingleSchemaType, getSortModelPropertiesByRequiredFlag, getSortParamsByRequiredFlag, getSupportedVendorExtensions, getSymbolName, getTag, getTemplatingEngine, getterAndSetterCapitalize, getTypeDeclaration, getUseInlineModelResolver, getUseOneOfInterfaces, getUseOpenAPINormalizer, getVersionMetadataFilename, handleMethodResponse, handleMethodResponse, handleSpecialCharacters, hasBodyParameter, hasFormParameter, importMapping, initializeSpecialCharacterMapping, inlineSchemaNameMapping, inlineSchemaOption, instantiationTypes, isAnyTypeSchema, isDataTypeBinary, isDataTypeFile, isEnableMinimalUpdate, isEnablePostProcessFile, isHideGenerationTimestamp, isJsonMimeType, isJsonVendorMimeType, isLibrary, isParameterNameUnique, isPropertyInnerMostEnum, isRemoveEnumValuePrefix, isRemoveOperationIdPrefix, isSkipOperationExample, isSkipOverwrite, isStrictSpecBehavior, isXmlMimeType, languageSpecificPrimitives, lowerCamelCase, modelDocTemplateFiles, modelFilename, modelNameMapping, modelPackage, modelTemplateFiles, modelTestFileFolder, modelTestTemplateFiles, modifyFeatureSet, nameMapping, openapiNormalizer, outputFolder, parameterNameMapping, postProcess, postProcessModelProperty, postProcessModelsEnum, postProcessOperationsWithModels, postProcessParameter, postProcessSupportingFileData, preprocessOpenAPI, processCompiler, processOpenAPI, processTemplatingEngine, processTestExampleData, removeImport, removeNonNameElementToCamelCase, removeNonNameElementToCamelCase, removeOption, removeSelfReferenceImports, reservedWords, reservedWordsMappings, sanitizeName, sanitizeName, sanitizeName, sanitizeTag, schemaMapping, serverVariableOverrides, setAddProps, setAllowUnicodeIdentifiers, setApiNamePrefix, setApiNameSuffix, setApiPackage, setCircularReferences, setDisallowAdditionalPropertiesIfNotPresent, setDocExtension, setEnableMinimalUpdate, setEnablePostProcessFile, setEnsureUniqueParams, setEnumUnknownDefaultCase, setFilesMetadataFilename, setGitHost, setGitRepoId, setGitUserId, setHideGenerationTimestamp, setHttpUserAgent, setIgnoreFilePathOverride, setInputSpec, setLegacyDiscriminatorBehavior, setLibrary, setModelNamePrefix, setModelNameSuffix, setModelPackage, setNonArrayMapProperty, setOpenAPI, setOutputDir, setParameterBooleanFlagWithCodegenProperty, setParameterEncodingValues, setParameterExamples, setParameterExampleValue, setParameterExampleValue, setParameterExampleValue, setParameterNullable, setPrependFormOrBodyParameters, setReleaseNote, setRemoveEnumValuePrefix, setRemoveOperationIdPrefix, setRemoveOperationIdPrefixCount, setRemoveOperationIdPrefixDelimiter, setReservedWordsLowerCase, setSkipOperationExample, setSkipOverwrite, setSortModelPropertiesByRequiredFlag, setSortParamsByRequiredFlag, setStrictSpecBehavior, setTemplateDir, setTemplatingEngine, setUseOneOfInterfaces, setVersionMetadataFilename, shouldAddImport, shouldOverwrite, supportedLibraries, supportingFiles, templateDir, testPackage, toAllOfName, toAnyOfName, toApiDocFilename, toApiFilename, toApiImport, toApiTestFilename, toApiVarName, toArrayModelParamName, toBooleanGetter, toDefaultParameterValue, toDefaultParameterValue, toDefaultValue, toDefaultValueWithParam, toEnumDefaultValue, toExamples, toExampleValue, toGetter, toInstantiationType, toMediaTypeSchemaName, toModelDocFilename, toModelImportMap, toModelTestFilename, toOneOfName, toSetter, toTestCaseName, typeMapping, unaliasPropertySchema, unaliasSchema, updateAllModels, updateCodegenPropertyEnum, updateDataTypeWithEnumForArray, updateDataTypeWithEnumForMap, updateEnumVarsWithExtensions, updateModelForAnyType, updateModelForComposedSchema, updateModelForInteger, updateModelForNumber, updateModelForString, updateOption, updateParameterForString, updatePropertyForAnyType, updatePropertyForArray, updatePropertyForInteger, updatePropertyForMap, updatePropertyForMap, updatePropertyForNumber, updatePropertyForObject, updatePropertyForString, updateRequestBodyForArray, updateRequestBodyForMap, updateRequestBodyForObject, updateRequestBodyForPrimitiveType, updateRequestBodyForString, 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.CodegenConfig
additionalProperties, addOperationToGroup, apiDocFilename, apiDocTemplateFiles, apiFilename, apiPackage, apiTemplateFiles, apiTestFilename, apiTestTemplateFiles, cliOptions, defaultIncludes, defaultTemplatingEngine, embeddedTemplateDir, encodePath, escapeText, escapeTextWhileAllowingNewLines, fileSuffix, fromOperation, fromSecurity, fromServers, fromServerVariables, generateExamplePath, generatorLanguageVersion, getAddSuffixToDuplicateOperationNicknames, getDocExtension, getFeatureSet, getFilesMetadataFilename, getGeneratorMetadata, getGitHost, getGitRepoId, getGitUserId, getHelp, getHttpUserAgent, getIgnoreFilePathOverride, getInputSpec, getLibrary, getName, getOutputDir, getReleaseNote, getSupportedVendorExtensions, getTag, getTemplatingEngine, getTypeDeclaration, getUseInlineModelResolver, getUseOpenAPINormalizer, getVersionMetadataFilename, importMapping, inlineSchemaNameMapping, inlineSchemaOption, instantiationTypes, isEnableMinimalUpdate, isEnablePostProcessFile, isHideGenerationTimestamp, isRemoveEnumValuePrefix, isRemoveOperationIdPrefix, isSkipOperationExample, isSkipOverwrite, isStrictSpecBehavior, languageSpecificPrimitives, modelDocTemplateFiles, modelFilename, modelNameMapping, modelPackage, modelTemplateFiles, modelTestFileFolder, modelTestTemplateFiles, nameMapping, openapiNormalizer, outputFolder, parameterNameMapping, postProcess, postProcessModelProperty, postProcessOperationsWithModels, postProcessParameter, postProcessSupportingFileData, preprocessOpenAPI, processCompiler, processOpenAPI, processTemplatingEngine, reservedWords, reservedWordsMappings, sanitizeName, sanitizeTag, schemaMapping, serverVariableOverrides, setDocExtension, setEnableMinimalUpdate, setEnablePostProcessFile, setGitHost, setGitRepoId, setGitUserId, setHideGenerationTimestamp, setHttpUserAgent, setIgnoreFilePathOverride, setInputSpec, setLibrary, setOpenAPI, setOutputDir, setReleaseNote, setRemoveEnumValuePrefix, setRemoveOperationIdPrefix, setSkipOperationExample, setSkipOverwrite, setStrictSpecBehavior, setTemplatingEngine, shouldOverwrite, supportedLibraries, supportingFiles, templateDir, testPackage, toApiDocFilename, toApiFilename, toApiImport, toApiTestFilename, toApiVarName, toBooleanGetter, toGetter, toModelDocFilename, toModelImportMap, toModelTestFilename, toSetter, typeMapping, unaliasSchema, updateAllModels, vendorExtensions
-
-
-
-
Field Detail
-
SERIALIZATION_LIBRARY_DESC
public static final String SERIALIZATION_LIBRARY_DESC
- See Also:
- Constant Field Values
-
MODEL_MUTABLE
public static final String MODEL_MUTABLE
- See Also:
- Constant Field Values
-
MODEL_MUTABLE_DESC
public static final String MODEL_MUTABLE_DESC
- See Also:
- Constant Field Values
-
ADDITIONAL_MODEL_TYPE_ANNOTATIONS
public static final String ADDITIONAL_MODEL_TYPE_ANNOTATIONS
- See Also:
- Constant Field Values
-
JAVAX_PACKAGE
public static final String JAVAX_PACKAGE
- See Also:
- Constant Field Values
-
USE_JAKARTA_EE
public static final String USE_JAKARTA_EE
- See Also:
- Constant Field Values
-
artifactId
protected String artifactId
-
artifactVersion
protected String artifactVersion
-
groupId
protected String groupId
-
packageName
protected String packageName
-
apiSuffix
protected String apiSuffix
-
sourceFolder
protected String sourceFolder
-
testFolder
protected String testFolder
-
resourcesFolder
protected String resourcesFolder
-
apiDocPath
protected String apiDocPath
-
modelDocPath
protected String modelDocPath
-
parcelizeModels
protected boolean parcelizeModels
-
serializableModel
protected boolean serializableModel
-
useJakartaEe
protected boolean useJakartaEe
-
nonPublicApi
protected boolean nonPublicApi
-
enumPropertyNaming
protected CodegenConstants.ENUM_PROPERTY_NAMING_TYPE enumPropertyNaming
-
serializationLibrary
protected AbstractKotlinCodegen.SERIALIZATION_LIBRARY_TYPE serializationLibrary
-
-
Method Detail
-
apiDocFileFolder
public String apiDocFileFolder()
- Specified by:
apiDocFileFolder
in interfaceCodegenConfig
- Overrides:
apiDocFileFolder
in classDefaultCodegen
-
apiFileFolder
public String apiFileFolder()
- Specified by:
apiFileFolder
in interfaceCodegenConfig
- Overrides:
apiFileFolder
in classDefaultCodegen
-
apiTestFileFolder
public String apiTestFileFolder()
- Specified by:
apiTestFileFolder
in interfaceCodegenConfig
- Overrides:
apiTestFileFolder
in classDefaultCodegen
-
escapeQuotationMark
public String escapeQuotationMark(String input)
Description copied from class:DefaultCodegen
Escape single and/or double quote to avoid code injection- Specified by:
escapeQuotationMark
in interfaceCodegenConfig
- Overrides:
escapeQuotationMark
in classDefaultCodegen
- 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:DefaultCodegen
Return the escaped name of the reserved word- Specified by:
escapeReservedWord
in interfaceCodegenConfig
- Overrides:
escapeReservedWord
in classDefaultCodegen
- 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:DefaultCodegen
override with any special text escaping logic to handle unsafe characters so as to avoid code injection- Specified by:
escapeUnsafeCharacters
in interfaceCodegenConfig
- Overrides:
escapeUnsafeCharacters
in classDefaultCodegen
- Parameters:
input
- String to be cleaned up- Returns:
- string with unsafe characters removed or escaped
-
getEnumPropertyNaming
public CodegenConstants.ENUM_PROPERTY_NAMING_TYPE getEnumPropertyNaming()
-
getSerializationLibrary
public AbstractKotlinCodegen.SERIALIZATION_LIBRARY_TYPE getSerializationLibrary()
-
setEnumPropertyNaming
public void setEnumPropertyNaming(String enumPropertyNamingType)
Sets the naming convention for Kotlin enum properties- Parameters:
enumPropertyNamingType
- The string representation of the naming convention, as defined byCodegenConstants.ENUM_PROPERTY_NAMING_TYPE
-
setSerializationLibrary
public void setSerializationLibrary(String enumSerializationLibrary)
Sets the serialization engine for Kotlin- Parameters:
enumSerializationLibrary
- The string representation of the serialization library as defined byAbstractKotlinCodegen.SERIALIZATION_LIBRARY_TYPE
-
getSchemaType
public String getSchemaType(io.swagger.v3.oas.models.media.Schema p)
returns the OpenAPI type for the property- Overrides:
getSchemaType
in classDefaultCodegen
- Parameters:
p
- OpenAPI property object- Returns:
- string presentation of the type
-
getTypeDeclaration
public String getTypeDeclaration(io.swagger.v3.oas.models.media.Schema p)
Output the type declaration of the property- Specified by:
getTypeDeclaration
in interfaceCodegenConfig
- Overrides:
getTypeDeclaration
in classDefaultCodegen
- Parameters:
p
- OpenAPI Property object- Returns:
- a string presentation of the property type
-
modelDocFileFolder
public String modelDocFileFolder()
- Specified by:
modelDocFileFolder
in interfaceCodegenConfig
- Overrides:
modelDocFileFolder
in classDefaultCodegen
-
modelFileFolder
public String modelFileFolder()
- Specified by:
modelFileFolder
in interfaceCodegenConfig
- Overrides:
modelFileFolder
in classDefaultCodegen
-
postProcessAllModels
public Map<String,ModelsMap> postProcessAllModels(Map<String,ModelsMap> objs)
- Specified by:
postProcessAllModels
in interfaceCodegenConfig
- Overrides:
postProcessAllModels
in classDefaultCodegen
-
postProcessModels
public ModelsMap postProcessModels(ModelsMap objs)
- Specified by:
postProcessModels
in interfaceCodegenConfig
- Overrides:
postProcessModels
in classDefaultCodegen
-
processOpts
public void processOpts()
- Specified by:
processOpts
in interfaceCodegenConfig
- Overrides:
processOpts
in classDefaultCodegen
-
isModelMutable
protected boolean isModelMutable()
-
setArtifactId
public void setArtifactId(String artifactId)
-
setArtifactVersion
public void setArtifactVersion(String artifactVersion)
-
setGroupId
public void setGroupId(String groupId)
-
setPackageName
public void setPackageName(String packageName)
-
setApiSuffix
public void setApiSuffix(String apiSuffix)
-
setSourceFolder
public void setSourceFolder(String sourceFolder)
-
setTestFolder
public void setTestFolder(String testFolder)
-
getParcelizeModels
public Boolean getParcelizeModels()
-
setParcelizeModels
public void setParcelizeModels(Boolean parcelizeModels)
-
isSerializableModel
public boolean isSerializableModel()
-
setSerializableModel
public void setSerializableModel(boolean serializableModel)
-
setUseJakartaEe
public void setUseJakartaEe(boolean useJakartaEe)
-
nonPublicApi
public boolean nonPublicApi()
-
setNonPublicApi
public void setNonPublicApi(boolean nonPublicApi)
-
toEnumVarName
public String toEnumVarName(String value, String datatype)
Return the sanitized variable name for enum- Overrides:
toEnumVarName
in classDefaultCodegen
- Parameters:
value
- enum variable namedatatype
- data type- Returns:
- the sanitized variable name for enum
-
toEnumName
public String toEnumName(CodegenProperty property)
Description copied from class:DefaultCodegen
Return the Enum name (e.g. StatusEnum given 'status')- Overrides:
toEnumName
in classDefaultCodegen
- Parameters:
property
- Codegen property- Returns:
- the Enum name
-
toApiName
public String toApiName(String name)
Description copied from class:DefaultCodegen
Output the API (class) name (capitalized) ending with the specified or default suffix Return DefaultApi if name is empty- Specified by:
toApiName
in interfaceCodegenConfig
- Overrides:
toApiName
in classDefaultCodegen
- Parameters:
name
- the name of the Api- Returns:
- capitalized Api name
-
toModelImport
public String toModelImport(String name)
Return the fully-qualified "Model" name for import- Specified by:
toModelImport
in interfaceCodegenConfig
- Overrides:
toModelImport
in classDefaultCodegen
- 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:
toModelName
in interfaceCodegenConfig
- Overrides:
toModelName
in classDefaultCodegen
- Parameters:
name
- the name of the model- Returns:
- capitalized model name
-
toOperationId
public String toOperationId(String operationId)
Return the operation ID (method name)- Overrides:
toOperationId
in classDefaultCodegen
- Parameters:
operationId
- operation ID- Returns:
- the sanitized method name
-
toModelFilename
public String toModelFilename(String name)
Description copied from class:DefaultCodegen
Return the capitalized file name of the model- Specified by:
toModelFilename
in interfaceCodegenConfig
- Overrides:
toModelFilename
in classDefaultCodegen
- Parameters:
name
- the model name- Returns:
- the file name of the model
-
applyJavaxPackage
protected void applyJavaxPackage()
-
applyJakartaPackage
protected void applyJakartaPackage()
-
isReservedWord
protected boolean isReservedWord(String word)
- Overrides:
isReservedWord
in classDefaultCodegen
-
needToImport
protected boolean needToImport(String type)
Check the type to see if it needs import the library/module/package- Overrides:
needToImport
in classDefaultCodegen
- Parameters:
type
- name of the type- Returns:
- true if the library/module/package of the corresponding type needs to be imported
-
fromModel
public CodegenModel fromModel(String name, io.swagger.v3.oas.models.media.Schema schema)
Description copied from class:DefaultCodegen
Convert OAS Model object to Codegen Model object.- Specified by:
fromModel
in interfaceCodegenConfig
- Overrides:
fromModel
in classDefaultCodegen
- Parameters:
name
- the name of the modelschema
- OAS Model object- Returns:
- Codegen Model object
-
toEnumValue
public String toEnumValue(String value, String datatype)
Description copied from class:DefaultCodegen
Return the enum value in the language specified format e.g. status becomes "status"- Overrides:
toEnumValue
in classDefaultCodegen
- Parameters:
value
- enum variable namedatatype
- data type- Returns:
- the sanitized value for enum
-
isDataTypeString
public boolean isDataTypeString(String dataType)
Description copied from class:DefaultCodegen
checks if the data should be classified as "string" in enum e.g. double in C# needs to be double-quoted (e.g. "2.8") by treating it as a string In the future, we may rename this function to "isEnumString"- Overrides:
isDataTypeString
in classDefaultCodegen
- Parameters:
dataType
- data type- Returns:
- true if it's a enum string
-
toParamName
public String toParamName(String name)
Description copied from class:DefaultCodegen
Return the parameter name by removing invalid characters and proper escaping if it's a reserved word.- Specified by:
toParamName
in interfaceCodegenConfig
- Overrides:
toParamName
in classDefaultCodegen
- Parameters:
name
- Codegen property object- Returns:
- the sanitized parameter name
-
toVarName
public String toVarName(String name)
Description copied from class:DefaultCodegen
Return the variable name by removing invalid characters and proper escaping if it's a reserved word.- Overrides:
toVarName
in classDefaultCodegen
- Parameters:
name
- the variable name- Returns:
- the sanitized variable name
-
toRegularExpression
public String toRegularExpression(String pattern)
Description copied from class:DefaultCodegen
Return the regular expression/JSON schema pattern (http://json-schema.org/latest/json-schema-validation.html#anchor33)- Overrides:
toRegularExpression
in classDefaultCodegen
- Parameters:
pattern
- the pattern (regular expression)- Returns:
- properly-escaped pattern
-
postProcessFile
public void postProcessFile(File file, String fileType)
Description copied from class:DefaultCodegen
Post-process the auto-generated file, e.g. using go-fmt to format the Go code. The file type can be "model-test", "model-doc", "model", "api", "api-test", "api-doc", "supporting-mustache", "supporting-common", "openapi-generator-ignore", "openapi-generator-version"TODO: store these values in enum instead
- Specified by:
postProcessFile
in interfaceCodegenConfig
- Overrides:
postProcessFile
in classDefaultCodegen
- Parameters:
file
- file to be processedfileType
- file type
-
toDefaultValue
public String toDefaultValue(io.swagger.v3.oas.models.media.Schema schema)
Description copied from class:DefaultCodegen
Return the default value of the propertyThis method should be overridden in the generator to meet its requirement. Return null if you do NOT want a default value. Any non-null value will cause {{#defaultValue} check to pass.
- Overrides:
toDefaultValue
in classDefaultCodegen
- Parameters:
schema
- Property schema- Returns:
- string presentation of the default value of the property
-
generatorLanguage
public GeneratorLanguage generatorLanguage()
- Specified by:
generatorLanguage
in interfaceCodegenConfig
- Overrides:
generatorLanguage
in classDefaultCodegen
-
updateModelForObject
protected void updateModelForObject(CodegenModel m, io.swagger.v3.oas.models.media.Schema schema)
- Overrides:
updateModelForObject
in classDefaultCodegen
-
setAdditionalModelTypeAnnotations
public void setAdditionalModelTypeAnnotations(List<String> additionalModelTypeAnnotations)
-
addMustacheLambdas
protected com.google.common.collect.ImmutableMap.Builder<String,com.samskivert.mustache.Mustache.Lambda> addMustacheLambdas()
Description copied from class:DefaultCodegen
Preset map builder with commonly used Mustache lambdas. To extend the map, override addMustacheLambdas(), call parent method first and then add additional lambdas to the returned builder. If common lambdas are not desired, override addMustacheLambdas() method and return empty builder.- Overrides:
addMustacheLambdas
in classDefaultCodegen
- Returns:
- preinitialized map with common lambdas
-
-