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 classKtormSchemaCodegen.SqlType-
Nested classes/interfaces inherited from class org.openapitools.codegen.languages.AbstractKotlinCodegen
AbstractKotlinCodegen.DataTypeAssigner
-
-
Field Summary
Fields Modifier and Type Field Description static StringADD_SURROGATE_KEYprotected booleanaddSurrogateKeyprotected StringcolumnNamePrefixprotected StringcolumnNameSuffixprotected StringdatabaseNamePrefixprotected StringdatabaseNameSuffixstatic StringDEFAULT_DATABASE_NAMEprotected StringdefaultDatabaseNameDefault database name for all queries This value must be used with backticks only, eg.static IntegerIDENTIFIER_MAX_LENGTHstatic StringIDENTIFIER_NAMING_CONVENTIONprotected StringidentifierNamingConventionIdentifier naming convention for table names and column names.static StringIMPORT_MODEL_PACKAGE_NAMEprotected StringimportModelPackageNameImported package name for the modelsstatic StringPRIMARY_KEY_CONVENTIONprotected StringprimaryKeyConventionprotected Map<String,String>sqlTypeMappingprotected StringtableNamePrefixprotected StringtableNameSuffixstatic StringVENDOR_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, 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, autosetConstants, cliOptions, DefaultFeatureSet, defaultIncludes, defaultToEmptyContainer, disallowAdditionalPropertiesIfNotPresent, docExtension, embeddedTemplateDir, enableMinimalUpdate, enablePostProcessFile, ensureUniqueParams, enumNameMapping, 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, openapiGeneratorIgnoreList, openapiNormalizer, operationIdNameMapping, outputFolder, parameterNameMapping, prependFormOrBodyParameters, releaseNote, removeEnumValuePrefix, removeOperationIdPrefix, removeOperationIdPrefixCount, removeOperationIdPrefixDelimiter, reservedWords, reservedWordsMappings, schemaMapping, serverVariables, skipOperationExample, skipOverwrite, skipSortingOperations, sortModelPropertiesByRequiredFlag, sortParamsByRequiredFlag, specialCharReplacements, strictSpecBehavior, supportedLibraries, supportingFiles, supportsAdditionalPropertiesWithComposedSchema, supportsInheritance, supportsMixins, supportsMultipleInheritance, templateDir, templateOutputDirs, 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 StringescapeQuotationMark(String input)Escape single and/or double quote to avoid code injectionStringescapeQuotedIdentifier(String identifier)Escapes identifier to use it in SQL statements with backticks, eg.StringescapeReservedWord(String name)Return the escaped name of the reserved wordGeneratorLanguagegeneratorLanguage()booleangetAddSurrogateKey()Returns primary key naming conventionStringgetHelp()StringgetName()CodegenTypegetTag()voidpostProcessModelProperty(CodegenModel model, CodegenProperty property)Processes each model's property mappedModelsMappostProcessModels(ModelsMap objs)voidprocessBooleanTypeProperty(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 extensionsvoidprocessDateTypeProperty(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 extensionsbooleanprocessForeignKey(CodegenModel model, CodegenProperty property, Map<String,Object> relationDefinition)Processes each model's property that relates to another modelvoidprocessIntegerTypeProperty(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 extensionsvoidprocessJsonTypeProperty(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 extensionsvoidprocessNullAndDefault(CodegenModel model, CodegenProperty property, String description, Map<String,Object> columnDefinition)Processes each model's property null/default definitionsvoidprocessOpts()voidprocessRealTypeProperty(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 extensionsvoidprocessStringTypeProperty(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 extensionsvoidprocessTypeArgs(String dataType, String dataFormat, Object min, Object max, Map<String,Object> columnDefinition)Processes each model's property type arguments definitionsvoidprocessUnknownTypeProperty(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.voidsetDefaultDatabaseName(String databaseName)Sets default database name for all queries Provided value will be escaped when necessaryvoidsetIdentifierNamingConvention(String naming)Sets identifier naming convention for table names and column names.StringtoColumnName(String name)Converts name to valid column name Produced name must be used with backticks only, eg.StringtoDatabaseName(String name)Converts name to valid database name Produced name must be used with backticks only, eg.StringtoIdentifier(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.StringtoSrcPath(String packageName)Slightly modified version of AbstractPhpCodegen.toSrcPath method.StringtoTableName(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, doDataTypeAssignment, escapeUnsafeCharacters, fromModel, getParcelizeModels, getSchemaType, getTypeDeclaration, isDataTypeString, isModelMutable, isReservedWord, modelDocFileFolder, modelFileFolder, modelTestFileFolder, needToImport, nonPublicApi, postProcessAllModels, postProcessFile, setEnumPropertyNaming, setParcelizeModels, toApiName, toDefaultParameterValue, 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, addParentFromContainer, addProperties, addRegularExpressionDelimiter, addRequiredVarsMap, addSwitch, addVars, addVars, addVarsRequiredVarsAdditionalProps, apiDocFilename, apiDocTemplateFiles, apiFilename, apiFilename, apiPackage, apiTemplateFiles, apiTestFilename, apiTestTemplateFiles, buildEnumVars, buildLibraryCliOption, cliOptions, convertPropertyToBoolean, convertPropertyToBooleanAndWriteBack, convertPropertyToBooleanAndWriteBack, convertPropertyToStringAndWriteBack, convertPropertyToTypeAndWriteBack, createDiscriminator, defaultIncludes, defaultTemplatingEngine, embeddedTemplateDir, encodePath, enumNameMapping, escapeText, escapeTextInSingleQuotes, escapeTextWhileAllowingNewLines, executePostProcessor, 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, getCollectionFormat, getCollectionFormat, getConsumesInfo, getContent, getContentType, getDisallowAdditionalPropertiesIfNotPresent, getDocExtension, getEnumDefaultValue, getEnumUnknownDefaultCase, getEnumValueForProperty, getFeatureSet, getFilesMetadataFilename, getGeneratorMetadata, getGitHost, getGitRepoId, getGitUserId, getHttpUserAgent, getIgnoreFilePathOverride, getInnerEnumAllowableValues, getInputSpec, getItemsName, getLegacyDiscriminatorBehavior, getLibrary, getModelNameToSchemaCache, getMostInnerItems, getOneOfAnyOfDescendants, getOpenapiGeneratorIgnoreList, getOrGenerateOperationId, getOutputDir, getParameterDataType, getProducesInfo, getReleaseNote, getSchemaAdditionalProperties, getSchemaFromBooleanOrSchema, getSingleSchemaType, getSupportedVendorExtensions, getSymbolName, getTemplatingEngine, getterAndSetterCapitalize, getTypeDeclaration, getUseInlineModelResolver, getUseOneOfInterfaces, getUseOpenapiNormalizer, getVersionMetadataFilename, handleConstantParams, handleMethodResponse, handleMethodResponse, handleSpecialCharacters, hasBodyParameter, hasFormParameter, importMapping, initializeSpecialCharacterMapping, inlineSchemaNameMapping, inlineSchemaOption, instantiationTypes, isDataTypeBinary, isDataTypeFile, isEnableMinimalUpdate, isEnablePostProcessFile, isHideGenerationTimestamp, isJsonMimeType, isJsonVendorMimeType, isLibrary, isParameterNameUnique, isPropertyInnerMostEnum, isRemoveEnumValuePrefix, isRemoveOperationIdPrefix, isSkipOperationExample, isSkipOverwrite, isSkipSortingOperations, isStrictSpecBehavior, isTypeErasedGenerics, isXmlMimeType, languageSpecificPrimitives, lowerCamelCase, modelDocTemplateFiles, modelFilename, modelFilename, modelNameMapping, modelPackage, modelTemplateFiles, modelTestTemplateFiles, modifyFeatureSet, nameMapping, openapiGeneratorIgnoreList, openapiNormalizer, operationIdNameMapping, outputFolder, parameterNameMapping, postProcess, postProcessEnumVars, postProcessModelsEnum, postProcessOperationsWithModels, postProcessParameter, postProcessResponseWithProperty, postProcessSupportingFileData, postProcessWebhooksWithModels, preprocessOpenAPI, processCompiler, processOpenAPI, processTemplatingEngine, processTestExampleData, removeImport, removeNonNameElementToCamelCase, removeNonNameElementToCamelCase, removeOption, removeSelfReferenceImports, reservedWords, reservedWordsMappings, sanitizeName, sanitizeName, sanitizeName, sanitizeTag, schemaMapping, serverVariableOverrides, setAddProps, setCircularReferences, setDocExtension, setEnableMinimalUpdate, setEnablePostProcessFile, setEnumDiscriminatorDefaultValue, setGitHost, setGitRepoId, setGitUserId, setHideGenerationTimestamp, setHttpUserAgent, setIgnoreFilePathOverride, setInputSpec, setLibrary, setNonArrayMapProperty, setOpenAPI, setOutputDir, setParameterBooleanFlagWithCodegenProperty, setParameterEncodingValues, setParameterExamples, setParameterExampleValue, setParameterExampleValue, setParameterExampleValue, setParameterNullable, setReleaseNote, setRemoveEnumValuePrefix, setRemoveOperationIdPrefix, setReservedWordsLowerCase, setSkipOperationExample, setSkipOverwrite, setSkipSortingOperations, setStrictSpecBehavior, setTemplatingEngine, setUseOneOfInterfaces, shouldAddImport, shouldOverwrite, SortModelPropertiesByRequiredFlag, SortParametersByRequiredFlag, specVersionGreaterThanOrEqualTo310, supportedLibraries, supportingFiles, templateDir, templateOutputDirs, testPackage, toAllOfName, toAnyOfName, toApiDocFilename, toApiFilename, toApiImport, toApiTestFilename, toApiVarName, toArrayModelParamName, toBooleanGetter, toDefaultParameterValue, toDefaultValue, toDefaultValueWithParam, toEnumDefaultValue, 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, useCodegenAsMustacheParentContext, 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, apiFilename, apiPackage, apiTemplateFiles, apiTestFilename, apiTestTemplateFiles, cliOptions, defaultIncludes, defaultTemplatingEngine, embeddedTemplateDir, encodePath, enumNameMapping, escapeText, escapeTextWhileAllowingNewLines, fileSuffix, fromOperation, fromSecurity, fromServers, fromServerVariables, generateExamplePath, generatorLanguageVersion, getAddSuffixToDuplicateOperationNicknames, getDocExtension, getFeatureSet, getFilesMetadataFilename, getGeneratorMetadata, getGitHost, getGitRepoId, getGitUserId, getHttpUserAgent, getIgnoreFilePathOverride, getInputSpec, getLibrary, getOpenapiGeneratorIgnoreList, getOutputDir, getReleaseNote, getSupportedVendorExtensions, getTemplatingEngine, getTypeDeclaration, getUseInlineModelResolver, getUseOpenapiNormalizer, getVersionMetadataFilename, importMapping, inlineSchemaNameMapping, inlineSchemaOption, instantiationTypes, isEnableMinimalUpdate, isEnablePostProcessFile, isHideGenerationTimestamp, isRemoveEnumValuePrefix, isRemoveOperationIdPrefix, isSkipOperationExample, isSkipOverwrite, isSkipSortingOperations, isStrictSpecBehavior, isTypeErasedGenerics, languageSpecificPrimitives, modelDocTemplateFiles, modelFilename, modelFilename, modelNameMapping, modelPackage, modelTemplateFiles, modelTestTemplateFiles, nameMapping, openapiGeneratorIgnoreList, openapiNormalizer, operationIdNameMapping, outputFolder, parameterNameMapping, postProcess, postProcessOperationsWithModels, postProcessParameter, postProcessResponseWithProperty, postProcessSupportingFileData, postProcessWebhooksWithModels, 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, setSkipSortingOperations, setStrictSpecBehavior, setTemplatingEngine, shouldOverwrite, supportedLibraries, supportingFiles, templateDir, templateOutputDirs, 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
Imported package name for the models
-
defaultDatabaseName
protected String defaultDatabaseName
Default database name for all queries This value must be used with backticks only, eg. `database_name`
-
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
Identifier naming convention for table names and column names.
-
primaryKeyConvention
protected String primaryKeyConvention
-
addSurrogateKey
protected boolean addSurrogateKey
-
-
Method Detail
-
getTag
public CodegenType getTag()
- Specified by:
getTagin interfaceCodegenConfig- Overrides:
getTagin classDefaultCodegen
-
getName
public String getName()
- Specified by:
getNamein interfaceCodegenConfig- Overrides:
getNamein classDefaultCodegen
-
getHelp
public String getHelp()
- Specified by:
getHelpin interfaceCodegenConfig- Overrides:
getHelpin classDefaultCodegen
-
processOpts
public void processOpts()
- Specified by:
processOptsin interfaceCodegenConfig- Overrides:
processOptsin classAbstractKotlinCodegen
-
postProcessModels
public ModelsMap postProcessModels(ModelsMap objs)
- Specified by:
postProcessModelsin interfaceCodegenConfig- Overrides:
postProcessModelsin classAbstractKotlinCodegen
-
postProcessModelProperty
public void postProcessModelProperty(CodegenModel model, CodegenProperty property)
Processes each model's property mapped- Specified by:
postProcessModelPropertyin interfaceCodegenConfig- Overrides:
postProcessModelPropertyin 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:DefaultCodegenReturn the escaped name of the reserved word- Specified by:
escapeReservedWordin interfaceCodegenConfig- Overrides:
escapeReservedWordin 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:DefaultCodegenEscape single and/or double quote to avoid code injection- Specified by:
escapeQuotationMarkin interfaceCodegenConfig- Overrides:
escapeQuotationMarkin classAbstractKotlinCodegen- Parameters:
input- String to be cleaned up- Returns:
- string with quotation mark 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
-
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)
-
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:
generatorLanguagein interfaceCodegenConfig- Overrides:
generatorLanguagein classAbstractKotlinCodegen
-
-