Class KtormSchemaCodegen
- java.lang.Object
-
- org.openapitools.codegen.DefaultCodegen
-
- org.openapitools.codegen.languages.AbstractKotlinCodegen
-
- org.openapitools.codegen.languages.KtormSchemaCodegen
-
- All Implemented Interfaces:
CodegenConfig
public class KtormSchemaCodegen extends AbstractKotlinCodegen
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected static class
KtormSchemaCodegen.SqlType
-
Nested classes/interfaces inherited from class org.openapitools.codegen.languages.AbstractKotlinCodegen
AbstractKotlinCodegen.SERIALIZATION_LIBRARY_TYPE
-
-
Field Summary
Fields Modifier and Type Field Description static String
ADD_SURROGATE_KEY
protected boolean
addSurrogateKey
protected String
columnNamePrefix
protected String
columnNameSuffix
protected String
databaseNamePrefix
protected String
databaseNameSuffix
static String
DEFAULT_DATABASE_NAME
protected String
defaultDatabaseName
static Integer
IDENTIFIER_MAX_LENGTH
static String
IDENTIFIER_NAMING_CONVENTION
protected String
identifierNamingConvention
static String
IMPORT_MODEL_PACKAGE_NAME
protected String
importModelPackageName
static String
PRIMARY_KEY_CONVENTION
protected String
primaryKeyConvention
protected Map<String,String>
sqlTypeMapping
protected String
tableNamePrefix
protected String
tableNameSuffix
static String
VENDOR_EXTENSION_SCHEMA
-
Fields inherited from class org.openapitools.codegen.languages.AbstractKotlinCodegen
ADDITIONAL_MODEL_TYPE_ANNOTATIONS, additionalModelTypeAnnotations, apiDocPath, apiSuffix, artifactId, artifactVersion, enumPropertyNaming, groupId, JAVAX_PACKAGE, MODEL_MUTABLE, MODEL_MUTABLE_DESC, modelDocPath, nonPublicApi, packageName, parcelizeModels, propertyAdditionalKeywords, resourcesFolder, serializableModel, SERIALIZATION_LIBRARY_DESC, serializationLibrary, sourceFolder, testFolder, USE_JAKARTA_EE, 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 KtormSchemaCodegen()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description String
escapeQuotationMark(String input)
Escape single and/or double quote to avoid code injectionString
escapeQuotedIdentifier(String identifier)
Escapes identifier to use it in SQL statements with backticks, eg.String
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 injectionGeneratorLanguage
generatorLanguage()
boolean
getAddSurrogateKey()
Returns primary key naming conventionString
getDefaultDatabaseName()
Returns default database name for all queries This value must be used with backticks only, eg.String
getHelp()
String
getIdentifierNamingConvention()
Returns identifier naming convention for table names and column names.String
getImportModelPackageName()
Returns imported package name for the modelsString
getName()
String
getPrimaryKeyConvention()
Returns primary key naming conventionCodegenType
getTag()
void
postProcessModelProperty(CodegenModel model, CodegenProperty property)
Processes each model's property mappedModelsMap
postProcessModels(ModelsMap objs)
void
processBooleanTypeProperty(CodegenModel model, CodegenProperty property, String description, org.openapitools.codegen.languages.KtormSchemaCodegen.KtormSchema ktormSchema)
Processes each model's property mapped to boolean type and adds related vendor extensionsvoid
processDateTypeProperty(CodegenModel model, CodegenProperty property, String description, org.openapitools.codegen.languages.KtormSchemaCodegen.KtormSchema ktormSchema)
Processes each model's property mapped to date type and adds related vendor extensionsboolean
processForeignKey(CodegenModel model, CodegenProperty property, Map<String,Object> relationDefinition)
Processes each model's property that relates to another modelvoid
processIntegerTypeProperty(CodegenModel model, CodegenProperty property, String description, org.openapitools.codegen.languages.KtormSchemaCodegen.KtormSchema ktormSchema)
Processes each model's property mapped to integer type and adds related vendor extensionsvoid
processJsonTypeProperty(CodegenModel model, CodegenProperty property, String description, org.openapitools.codegen.languages.KtormSchemaCodegen.KtormSchema ktormSchema)
Processes each model's property mapped to JSON type and adds related vendor extensionsvoid
processNullAndDefault(CodegenModel model, CodegenProperty property, String description, Map<String,Object> columnDefinition)
Processes each model's property null/default definitionsvoid
processOpts()
void
processRealTypeProperty(CodegenModel model, CodegenProperty property, String description, org.openapitools.codegen.languages.KtormSchemaCodegen.KtormSchema ktormSchema)
Processes each model's property mapped to some real type and adds related vendor extensionsvoid
processStringTypeProperty(CodegenModel model, CodegenProperty property, String description, org.openapitools.codegen.languages.KtormSchemaCodegen.KtormSchema ktormSchema)
Processes each model's property mapped to string type and adds related vendor extensionsvoid
processTypeArgs(String dataType, String dataFormat, Object min, Object max, Map<String,Object> columnDefinition)
Processes each model's property type arguments definitionsvoid
processUnknownTypeProperty(CodegenModel model, CodegenProperty property, String description, org.openapitools.codegen.languages.KtormSchemaCodegen.KtormSchema ktormSchema)
Processes each model's property not mapped to any type and adds related vendor extensions Most of time it's related to referenced properties eg.void
setAddSurrogateKey(boolean enable)
Sets primary key naming conventionvoid
setDefaultDatabaseName(String databaseName)
Sets default database name for all queries Provided value will be escaped when necessaryvoid
setIdentifierNamingConvention(String naming)
Sets identifier naming convention for table names and column names.void
setImportModelPackageName(String name)
Sets imported package name for the modelsvoid
setPrimaryKeyConvention(String name)
Sets primary key naming conventionString
toColumnName(String name)
Converts name to valid column name Produced name must be used with backticks only, eg.String
toDatabaseName(String name)
Converts name to valid database name Produced name must be used with backticks only, eg.String
toIdentifier(String name, String prefix, String suffix)
Converts name to valid identifier which can be used as database, table, column name Produced name must be used quoted only, eg.String
toSrcPath(String packageName)
Slightly modified version of AbstractPhpCodegen.toSrcPath method.String
toTableName(String name)
Converts name to valid column name Produced name must be used with backticks only, eg.-
Methods inherited from class org.openapitools.codegen.languages.AbstractKotlinCodegen
addMustacheLambdas, apiDocFileFolder, apiFileFolder, apiTestFileFolder, applyJakartaPackage, applyJavaxPackage, fromModel, getAdditionalModelTypeAnnotations, getEnumPropertyNaming, getParcelizeModels, getSchemaType, getSerializationLibrary, getTypeDeclaration, isDataTypeString, isModelMutable, isReservedWord, isSerializableModel, modelDocFileFolder, modelFileFolder, needToImport, nonPublicApi, postProcessAllModels, postProcessFile, setAdditionalModelTypeAnnotations, setApiSuffix, setArtifactId, setArtifactVersion, setEnumPropertyNaming, setGroupId, setNonPublicApi, setPackageName, setParcelizeModels, setSerializableModel, setSerializationLibrary, setSourceFolder, setTestFolder, setUseJakartaEe, toApiName, toDefaultValue, toEnumName, toEnumValue, toEnumVarName, toModelFilename, toModelImport, toModelName, toOperationId, toParamName, toRegularExpression, toVariableName, toVarName, updateModelForObject
-
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, getHttpUserAgent, getIgnoreFilePathOverride, getInnerEnumAllowableValues, getInputSpec, getItemsName, getLegacyDiscriminatorBehavior, getLibrary, getModelNamePrefix, getModelNameSuffix, getModelNameToSchemaCache, getMostInnerItems, getOneOfAnyOfDescendants, getOrGenerateOperationId, getOutputDir, getParameterDataType, getPrependFormOrBodyParameters, getProducesInfo, getReleaseNote, getRemoveOperationIdPrefixCount, getRemoveOperationIdPrefixDelimiter, getSchemaAdditionalProperties, getSchemaFromBooleanOrSchema, getSchemaItems, getSingleSchemaType, getSortModelPropertiesByRequiredFlag, getSortParamsByRequiredFlag, getSupportedVendorExtensions, getSymbolName, 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, 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, getHttpUserAgent, getIgnoreFilePathOverride, getInputSpec, getLibrary, getOutputDir, getReleaseNote, getSupportedVendorExtensions, 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, 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
-
VENDOR_EXTENSION_SCHEMA
public static final String VENDOR_EXTENSION_SCHEMA
- See Also:
- Constant Field Values
-
DEFAULT_DATABASE_NAME
public static final String DEFAULT_DATABASE_NAME
- See Also:
- Constant Field Values
-
IMPORT_MODEL_PACKAGE_NAME
public static final String IMPORT_MODEL_PACKAGE_NAME
- See Also:
- Constant Field Values
-
IDENTIFIER_NAMING_CONVENTION
public static final String IDENTIFIER_NAMING_CONVENTION
- See Also:
- Constant Field Values
-
PRIMARY_KEY_CONVENTION
public static final String PRIMARY_KEY_CONVENTION
- See Also:
- Constant Field Values
-
ADD_SURROGATE_KEY
public static final String ADD_SURROGATE_KEY
- See Also:
- Constant Field Values
-
IDENTIFIER_MAX_LENGTH
public static final Integer IDENTIFIER_MAX_LENGTH
-
importModelPackageName
protected String importModelPackageName
-
defaultDatabaseName
protected String defaultDatabaseName
-
databaseNamePrefix
protected String databaseNamePrefix
-
databaseNameSuffix
protected String databaseNameSuffix
-
tableNamePrefix
protected String tableNamePrefix
-
tableNameSuffix
protected String tableNameSuffix
-
columnNamePrefix
protected String columnNamePrefix
-
columnNameSuffix
protected String columnNameSuffix
-
identifierNamingConvention
protected String identifierNamingConvention
-
primaryKeyConvention
protected String primaryKeyConvention
-
addSurrogateKey
protected boolean addSurrogateKey
-
-
Method Detail
-
getTag
public CodegenType getTag()
- Specified by:
getTag
in interfaceCodegenConfig
- Overrides:
getTag
in classDefaultCodegen
-
getName
public String getName()
- Specified by:
getName
in interfaceCodegenConfig
- Overrides:
getName
in classDefaultCodegen
-
getHelp
public String getHelp()
- Specified by:
getHelp
in interfaceCodegenConfig
- Overrides:
getHelp
in classDefaultCodegen
-
processOpts
public void processOpts()
- Specified by:
processOpts
in interfaceCodegenConfig
- Overrides:
processOpts
in classAbstractKotlinCodegen
-
postProcessModels
public ModelsMap postProcessModels(ModelsMap objs)
- Specified by:
postProcessModels
in interfaceCodegenConfig
- Overrides:
postProcessModels
in classAbstractKotlinCodegen
-
postProcessModelProperty
public void postProcessModelProperty(CodegenModel model, CodegenProperty property)
Processes each model's property mapped- Specified by:
postProcessModelProperty
in interfaceCodegenConfig
- Overrides:
postProcessModelProperty
in classDefaultCodegen
- Parameters:
model
- codegen modelproperty
- model's property
-
processIntegerTypeProperty
public void processIntegerTypeProperty(CodegenModel model, CodegenProperty property, String description, org.openapitools.codegen.languages.KtormSchemaCodegen.KtormSchema ktormSchema)
Processes each model's property mapped to integer type and adds related vendor extensions- Parameters:
model
- codegen modelproperty
- model's propertydescription
- property custom descriptionktormSchema
- schema
-
processRealTypeProperty
public void processRealTypeProperty(CodegenModel model, CodegenProperty property, String description, org.openapitools.codegen.languages.KtormSchemaCodegen.KtormSchema ktormSchema)
Processes each model's property mapped to some real type and adds related vendor extensions- Parameters:
model
- codegen modelproperty
- model's propertydescription
- property custom descriptionktormSchema
- schema
-
processBooleanTypeProperty
public void processBooleanTypeProperty(CodegenModel model, CodegenProperty property, String description, org.openapitools.codegen.languages.KtormSchemaCodegen.KtormSchema ktormSchema)
Processes each model's property mapped to boolean type and adds related vendor extensions- Parameters:
model
- codegen modelproperty
- model's propertydescription
- property custom descriptionktormSchema
- schema
-
processStringTypeProperty
public void processStringTypeProperty(CodegenModel model, CodegenProperty property, String description, org.openapitools.codegen.languages.KtormSchemaCodegen.KtormSchema ktormSchema)
Processes each model's property mapped to string type and adds related vendor extensions- Parameters:
model
- codegen modelproperty
- model's propertydescription
- property custom descriptionktormSchema
- schema
-
processDateTypeProperty
public void processDateTypeProperty(CodegenModel model, CodegenProperty property, String description, org.openapitools.codegen.languages.KtormSchemaCodegen.KtormSchema ktormSchema)
Processes each model's property mapped to date type and adds related vendor extensions- Parameters:
model
- codegen modelproperty
- model's propertydescription
- property custom descriptionktormSchema
- schema
-
processJsonTypeProperty
public void processJsonTypeProperty(CodegenModel model, CodegenProperty property, String description, org.openapitools.codegen.languages.KtormSchemaCodegen.KtormSchema ktormSchema)
Processes each model's property mapped to JSON type and adds related vendor extensions- Parameters:
model
- codegen modelproperty
- model's propertydescription
- property custom descriptionktormSchema
- schema
-
processUnknownTypeProperty
public void processUnknownTypeProperty(CodegenModel model, CodegenProperty property, String description, org.openapitools.codegen.languages.KtormSchemaCodegen.KtormSchema ktormSchema)
Processes each model's property not mapped to any type and adds related vendor extensions Most of time it's related to referenced properties eg. \Model\User- Parameters:
model
- codegen modelproperty
- model's propertydescription
- property custom descriptionktormSchema
- schema
-
processTypeArgs
public void processTypeArgs(String dataType, String dataFormat, Object min, Object max, Map<String,Object> columnDefinition)
Processes each model's property type arguments definitions- Parameters:
dataType
- the chosen sql typedataFormat
- the chosen sql formatmin
- the minimum value, if specified, in the target typemax
- the maximum value, if specified, in the target typecolumnDefinition
- resulting column definition dictionary
-
processNullAndDefault
public void processNullAndDefault(CodegenModel model, CodegenProperty property, String description, Map<String,Object> columnDefinition)
Processes each model's property null/default definitions- Parameters:
model
- model's nameproperty
- model's propertydescription
- property's customized descriptioncolumnDefinition
- resulting column definition dictionary
-
processForeignKey
public boolean processForeignKey(CodegenModel model, CodegenProperty property, Map<String,Object> relationDefinition)
Processes each model's property that relates to another model- Parameters:
model
- model's nameproperty
- model's propertyrelationDefinition
- resulting relation definition dictionary- Returns:
- did we create the foreign key section.
-
toDatabaseName
public String toDatabaseName(String name)
Converts name to valid database name Produced name must be used with backticks only, eg. `database_name`- Parameters:
name
- source name- Returns:
- database name
-
toTableName
public String toTableName(String name)
Converts name to valid column name Produced name must be used with backticks only, eg. `table_name`- Parameters:
name
- source name- Returns:
- table name
-
toColumnName
public String toColumnName(String name)
Converts name to valid column name Produced name must be used with backticks only, eg. `column_name`- Parameters:
name
- source name- Returns:
- column name
-
toIdentifier
public String toIdentifier(String name, String prefix, String suffix)
Converts name to valid identifier which can be used as database, table, column name Produced name must be used quoted only, eg. "column_name"- Parameters:
name
- source nameprefix
- when escaped name is digits only, prefix will be prependedsuffix
- when escaped name is digits only, suffix will be appended- Returns:
- identifier name
-
escapeQuotedIdentifier
public String escapeQuotedIdentifier(String identifier)
Escapes identifier to use it in SQL statements with backticks, eg. SELECT "identifier" FROM Ref: https://www.sqlite.org/draft/tokenreq.html H41130 Spec is similar to MySQL- Parameters:
identifier
- source identifier- Returns:
- escaped identifier
-
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 classAbstractKotlinCodegen
- Parameters:
name
- the name to be escaped- Returns:
- the escaped reserved word
throws Runtime exception as reserved word is not allowed (default behavior)
-
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 classAbstractKotlinCodegen
- Parameters:
input
- String to be cleaned up- Returns:
- string with quotation mark removed or escaped
-
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 classAbstractKotlinCodegen
- Parameters:
input
- String to be cleaned up- Returns:
- string with unsafe characters removed or escaped
-
setDefaultDatabaseName
public void setDefaultDatabaseName(String databaseName)
Sets default database name for all queries Provided value will be escaped when necessary- Parameters:
databaseName
- source name
-
getDefaultDatabaseName
public String getDefaultDatabaseName()
Returns default database name for all queries This value must be used with backticks only, eg. `database_name`- Returns:
- default database name
-
setImportModelPackageName
public void setImportModelPackageName(String name)
Sets imported package name for the models- Parameters:
name
- name
-
getImportModelPackageName
public String getImportModelPackageName()
Returns imported package name for the models- Returns:
- name
-
setIdentifierNamingConvention
public void setIdentifierNamingConvention(String naming)
Sets identifier naming convention for table names and column names. This is not related to database name which is defined by defaultDatabaseName option.- Parameters:
naming
- identifier naming convention (original|snake_case)
-
getIdentifierNamingConvention
public String getIdentifierNamingConvention()
Returns identifier naming convention for table names and column names.- Returns:
- identifier naming convention
-
setPrimaryKeyConvention
public void setPrimaryKeyConvention(String name)
Sets primary key naming convention- Parameters:
name
- name
-
getPrimaryKeyConvention
public String getPrimaryKeyConvention()
Returns primary key naming convention- Returns:
- name
-
setAddSurrogateKey
public void setAddSurrogateKey(boolean enable)
Sets primary key naming convention- Parameters:
enable
- enable this option
-
getAddSurrogateKey
public boolean getAddSurrogateKey()
Returns primary key naming convention- Returns:
- is enabled
-
toSrcPath
public String toSrcPath(String packageName)
Slightly modified version of AbstractPhpCodegen.toSrcPath method.- Parameters:
packageName
- package name- Returns:
- path
-
generatorLanguage
public GeneratorLanguage generatorLanguage()
- Specified by:
generatorLanguage
in interfaceCodegenConfig
- Overrides:
generatorLanguage
in classAbstractKotlinCodegen
-
-