Class MysqlSchemaCodegen
- java.lang.Object
-
- org.openapitools.codegen.DefaultCodegen
-
- org.openapitools.codegen.languages.MysqlSchemaCodegen
-
- All Implemented Interfaces:
CodegenConfig
public class MysqlSchemaCodegen extends DefaultCodegen implements CodegenConfig
-
-
Field Summary
Fields Modifier and Type Field Description protected StringcolumnNamePrefixprotected StringcolumnNameSuffixprotected StringdatabaseNamePrefixprotected StringdatabaseNameSuffixstatic StringDEFAULT_DATABASE_NAMEprotected StringdefaultDatabaseNamestatic IntegerENUM_MAX_ELEMENTSstatic IntegerIDENTIFIER_MAX_LENGTHstatic StringIDENTIFIER_NAMING_CONVENTIONprotected StringidentifierNamingConventionstatic StringJSON_DATA_TYPE_ENABLEDprotected BooleanjsonDataTypeEnabledprotected Vector<String>mysqlDateAndTimeTypesprotected Vector<String>mysqlNumericTypesprotected Vector<String>mysqlSpatialTypesprotected Vector<String>mysqlStringTypesstatic StringNAMED_PARAMETERS_ENABLEDprotected BooleannamedParametersEnabledprotected StringtableNamePrefixprotected StringtableNameSuffixstatic StringVENDOR_EXTENSION_MYSQL_SCHEMA-
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 MysqlSchemaCodegen()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description StringescapeMysqlQuotedIdentifier(String identifier)Escapes MySQL identifier to use it in SQL statements with backticks, eg.StringescapeMysqlUnquotedIdentifier(String identifier)Escapes MySQL identifier to use it in SQL statements without backticks, eg.StringescapeQuotationMark(String input)Escape single and/or double quote to avoid code injectionStringescapeReservedWord(String name)Return the escaped name of the reserved wordStringescapeUnsafeCharacters(String input)override with any special text escaping logic to handle unsafe characters so as to avoid code injectionGeneratorLanguagegeneratorLanguage()StringgetDefaultDatabaseName()Returns default database name for all MySQL queries This value must be used with backticks only, eg.StringgetHelp()StringgetIdentifierNamingConvention()Returns identifier naming convention for table names and column names.BooleangetJsonDataTypeEnabled()Whether JSON data type enabled or disabled in all MySQL queriesStringgetMysqlMatchedIntegerDataType(Long minimum, Long maximum, Boolean unsigned)Finds best fitted MySQL data type for integer variable based on minimum and maximum propertiesStringgetMysqlMatchedStringDataType(Integer minLength, Integer maxLength)Finds best fitted MySQL data type for string variable based on minLength and maxLength propertiesStringgetName()BooleangetNamedParametersEnabled()Whether named parameters enabled or disabled in prepared SQLsCodegenTypegetTag()BooleanisMysqlDataType(String dataType)Checks whether string is one of MySQL Data Types Ref: https://dev.mysql.com/doc/refman/8.0/en/data-type-overview.htmlvoidpostProcessModelProperty(CodegenModel model, CodegenProperty property)ModelsMappostProcessModels(ModelsMap objs)voidprocessBooleanTypeProperty(CodegenModel model, CodegenProperty property)Processes each model's property mapped to boolean type and adds related vendor extensionsvoidprocessDateTypeProperty(CodegenModel model, CodegenProperty property)Processes each model's property mapped to date type and adds related vendor extensionsvoidprocessDecimalTypeProperty(CodegenModel model, CodegenProperty property)Processes each model's property mapped to decimal type and adds related vendor extensionsvoidprocessIntegerTypeProperty(CodegenModel model, CodegenProperty property)Processes each model's property mapped to integer type and adds related vendor extensionsvoidprocessJsonTypeProperty(CodegenModel model, CodegenProperty property)Processes each model's property mapped to JSON type and adds related vendor extensionsvoidprocessOpts()voidprocessStringTypeProperty(CodegenModel model, CodegenProperty property)Processes each model's property mapped to string type and adds related vendor extensionsvoidprocessUnknownTypeProperty(CodegenModel model, CodegenProperty property)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 MySQL queries Provided value will be escaped when necessaryvoidsetIdentifierNamingConvention(String naming)Sets identifier naming convention for table names and column names.voidsetJsonDataTypeEnabled(Boolean enabled)Enables special JSON data type in all MySQL queries JSON data type requires MySQL version 5.7.8voidsetNamedParametersEnabled(Boolean enabled)Enables named parameters in prepared SQLsHashMap<String,Object>toCodegenMysqlDataTypeArgument(Object value)Generates codegen property for MySQL data type argumentHashMap<String,Object>toCodegenMysqlDataTypeDefault(String defaultValue, String mysqlDataType)Generates default codegen property for MySQL column definition Ref: https://dev.mysql.com/doc/refman/5.7/en/data-type-defaults.htmlStringtoColumnName(String name)Converts name to valid MySQL column name Produced name must be used with backticks only, eg.StringtoDatabaseName(String name)Converts name to valid MySQL database name Produced name must be used with backticks only, eg.StringtoMysqlIdentifier(String name, String prefix, String suffix)Converts name to valid MySQL identifier which can be used as database, table, column name Produced name must be used with backticks only, eg.StringtoSrcPath(String packageName)Slightly modified version of AbstractPhpCodegen.toSrcPath method.StringtoTableName(String name)Converts name to valid MySQL column name Produced name must be used with backticks only, eg.-
Methods inherited from class org.openapitools.codegen.DefaultCodegen
addAdditionPropertiesToCodeGenModel, addBodyModelSchema, addHeaders, addImport, addImport, addImport, addImports, addImports, addImports, addImportsForPropertyType, addImportsToOneOfInterface, additionalProperties, addMustacheLambdas, addOneOfInterfaceModel, addOneOfNameExtension, addOperationToGroup, addOption, addOption, addParentContainer, addProperties, addRegularExpressionDelimiter, addRequiredVarsMap, addSwitch, addVars, addVars, addVarsRequiredVarsAdditionalProps, apiDocFileFolder, apiDocFilename, apiDocTemplateFiles, apiFileFolder, apiFilename, apiPackage, apiTemplateFiles, apiTestFileFolder, apiTestFilename, apiTestTemplateFiles, buildEnumVars, buildLibraryCliOption, cliOptions, convertPropertyToBoolean, convertPropertyToBooleanAndWriteBack, createDiscriminator, defaultIncludes, defaultTemplatingEngine, embeddedTemplateDir, encodePath, escapeText, escapeTextWhileAllowingNewLines, fileSuffix, findCommonPrefixOfVars, findMethodResponse, fromCallback, fromFormProperty, fromModel, 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, getSchemaType, getSingleSchemaType, getSortModelPropertiesByRequiredFlag, getSortParamsByRequiredFlag, getSupportedVendorExtensions, getSymbolName, getTemplatingEngine, getterAndSetterCapitalize, getTypeDeclaration, getTypeDeclaration, getUseInlineModelResolver, getUseOneOfInterfaces, getUseOpenAPINormalizer, getVersionMetadataFilename, handleMethodResponse, handleMethodResponse, handleSpecialCharacters, hasBodyParameter, hasFormParameter, importMapping, initializeSpecialCharacterMapping, inlineSchemaNameMapping, inlineSchemaOption, instantiationTypes, isAnyTypeSchema, isDataTypeBinary, isDataTypeFile, isDataTypeString, isEnableMinimalUpdate, isEnablePostProcessFile, isHideGenerationTimestamp, isJsonMimeType, isJsonVendorMimeType, isLibrary, isParameterNameUnique, isPropertyInnerMostEnum, isRemoveEnumValuePrefix, isRemoveOperationIdPrefix, isReservedWord, isSkipOperationExample, isSkipOverwrite, isStrictSpecBehavior, isXmlMimeType, languageSpecificPrimitives, lowerCamelCase, modelDocFileFolder, modelDocTemplateFiles, modelFileFolder, modelFilename, modelNameMapping, modelPackage, modelTemplateFiles, modelTestFileFolder, modelTestTemplateFiles, modifyFeatureSet, nameMapping, needToImport, openapiNormalizer, outputFolder, parameterNameMapping, postProcess, postProcessAllModels, postProcessFile, 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, toApiName, toApiTestFilename, toApiVarName, toArrayModelParamName, toBooleanGetter, toDefaultParameterValue, toDefaultParameterValue, toDefaultValue, toDefaultValue, toDefaultValueWithParam, toEnumDefaultValue, toEnumName, toEnumValue, toEnumVarName, toExamples, toExampleValue, toGetter, toInstantiationType, toMediaTypeSchemaName, toModelDocFilename, toModelFilename, toModelImport, toModelImportMap, toModelName, toModelTestFilename, toOneOfName, toOperationId, toParamName, toRegularExpression, toSetter, toTestCaseName, toVarName, typeMapping, unaliasPropertySchema, unaliasSchema, updateAllModels, updateCodegenPropertyEnum, updateDataTypeWithEnumForArray, updateDataTypeWithEnumForMap, updateEnumVarsWithExtensions, updateModelForAnyType, updateModelForComposedSchema, updateModelForInteger, updateModelForNumber, updateModelForObject, 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, apiDocFileFolder, apiDocFilename, apiDocTemplateFiles, apiFileFolder, apiFilename, apiPackage, apiTemplateFiles, apiTestFileFolder, apiTestFilename, apiTestTemplateFiles, cliOptions, defaultIncludes, defaultTemplatingEngine, embeddedTemplateDir, encodePath, escapeText, escapeTextWhileAllowingNewLines, fileSuffix, fromModel, fromOperation, fromSecurity, fromServers, fromServerVariables, generateExamplePath, generatorLanguageVersion, getAddSuffixToDuplicateOperationNicknames, getDocExtension, getFeatureSet, getFilesMetadataFilename, getGeneratorMetadata, getGitHost, getGitRepoId, getGitUserId, getHttpUserAgent, getIgnoreFilePathOverride, getInputSpec, getLibrary, getOutputDir, getReleaseNote, getSupportedVendorExtensions, getTemplatingEngine, getTypeDeclaration, getTypeDeclaration, getUseInlineModelResolver, getUseOpenAPINormalizer, getVersionMetadataFilename, importMapping, inlineSchemaNameMapping, inlineSchemaOption, instantiationTypes, isEnableMinimalUpdate, isEnablePostProcessFile, isHideGenerationTimestamp, isRemoveEnumValuePrefix, isRemoveOperationIdPrefix, isSkipOperationExample, isSkipOverwrite, isStrictSpecBehavior, languageSpecificPrimitives, modelDocFileFolder, modelDocTemplateFiles, modelFileFolder, modelFilename, modelNameMapping, modelPackage, modelTemplateFiles, modelTestFileFolder, modelTestTemplateFiles, nameMapping, openapiNormalizer, outputFolder, parameterNameMapping, postProcess, postProcessAllModels, postProcessFile, 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, toApiName, toApiTestFilename, toApiVarName, toBooleanGetter, toGetter, toModelDocFilename, toModelFilename, toModelImport, toModelImportMap, toModelName, toModelTestFilename, toParamName, toSetter, typeMapping, unaliasSchema, updateAllModels, vendorExtensions
-
-
-
-
Field Detail
-
VENDOR_EXTENSION_MYSQL_SCHEMA
public static final String VENDOR_EXTENSION_MYSQL_SCHEMA
- See Also:
- Constant Field Values
-
DEFAULT_DATABASE_NAME
public static final String DEFAULT_DATABASE_NAME
- See Also:
- Constant Field Values
-
JSON_DATA_TYPE_ENABLED
public static final String JSON_DATA_TYPE_ENABLED
- See Also:
- Constant Field Values
-
IDENTIFIER_NAMING_CONVENTION
public static final String IDENTIFIER_NAMING_CONVENTION
- See Also:
- Constant Field Values
-
NAMED_PARAMETERS_ENABLED
public static final String NAMED_PARAMETERS_ENABLED
- See Also:
- Constant Field Values
-
ENUM_MAX_ELEMENTS
public static final Integer ENUM_MAX_ELEMENTS
-
IDENTIFIER_MAX_LENGTH
public static final Integer IDENTIFIER_MAX_LENGTH
-
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
-
jsonDataTypeEnabled
protected Boolean jsonDataTypeEnabled
-
namedParametersEnabled
protected Boolean namedParametersEnabled
-
identifierNamingConvention
protected String identifierNamingConvention
-
-
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 classDefaultCodegen
-
postProcessModels
public ModelsMap postProcessModels(ModelsMap objs)
- Specified by:
postProcessModelsin interfaceCodegenConfig- Overrides:
postProcessModelsin classDefaultCodegen
-
postProcessModelProperty
public void postProcessModelProperty(CodegenModel model, CodegenProperty property)
- Specified by:
postProcessModelPropertyin interfaceCodegenConfig- Overrides:
postProcessModelPropertyin classDefaultCodegen
-
processIntegerTypeProperty
public void processIntegerTypeProperty(CodegenModel model, CodegenProperty property)
Processes each model's property mapped to integer type and adds related vendor extensions- Parameters:
model- modelproperty- model's property
-
processDecimalTypeProperty
public void processDecimalTypeProperty(CodegenModel model, CodegenProperty property)
Processes each model's property mapped to decimal type and adds related vendor extensions- Parameters:
model- modelproperty- model's property
-
processBooleanTypeProperty
public void processBooleanTypeProperty(CodegenModel model, CodegenProperty property)
Processes each model's property mapped to boolean type and adds related vendor extensions- Parameters:
model- modelproperty- model's property
-
processStringTypeProperty
public void processStringTypeProperty(CodegenModel model, CodegenProperty property)
Processes each model's property mapped to string type and adds related vendor extensions- Parameters:
model- modelproperty- model's property
-
processDateTypeProperty
public void processDateTypeProperty(CodegenModel model, CodegenProperty property)
Processes each model's property mapped to date type and adds related vendor extensions- Parameters:
model- modelproperty- model's property
-
processJsonTypeProperty
public void processJsonTypeProperty(CodegenModel model, CodegenProperty property)
Processes each model's property mapped to JSON type and adds related vendor extensions- Parameters:
model- modelproperty- model's property
-
processUnknownTypeProperty
public void processUnknownTypeProperty(CodegenModel model, CodegenProperty property)
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- modelproperty- model's property
-
toCodegenMysqlDataTypeArgument
public HashMap<String,Object> toCodegenMysqlDataTypeArgument(Object value)
Generates codegen property for MySQL data type argument- Parameters:
value- argument value- Returns:
- generated codegen property
-
toCodegenMysqlDataTypeDefault
public HashMap<String,Object> toCodegenMysqlDataTypeDefault(String defaultValue, String mysqlDataType)
Generates default codegen property for MySQL column definition Ref: https://dev.mysql.com/doc/refman/5.7/en/data-type-defaults.html- Parameters:
defaultValue- valuemysqlDataType- MySQL data type- Returns:
- generated codegen property
-
getMysqlMatchedIntegerDataType
public String getMysqlMatchedIntegerDataType(Long minimum, Long maximum, Boolean unsigned)
Finds best fitted MySQL data type for integer variable based on minimum and maximum properties- Parameters:
minimum- (optional) codegen propertymaximum- (optional) codegen propertyunsigned- (optional) whether variable is unsigned or not- Returns:
- MySQL integer data type
-
getMysqlMatchedStringDataType
public String getMysqlMatchedStringDataType(Integer minLength, Integer maxLength)
Finds best fitted MySQL data type for string variable based on minLength and maxLength properties- Parameters:
minLength- (optional) codegen propertymaxLength- (optional) codegen property- Returns:
- MySQL string data type
-
isMysqlDataType
public Boolean isMysqlDataType(String dataType)
Checks whether string is one of MySQL Data Types Ref: https://dev.mysql.com/doc/refman/8.0/en/data-type-overview.html- Parameters:
dataType- which needs to check- Returns:
- true if value is correct MySQL data type, otherwise false
-
toDatabaseName
public String toDatabaseName(String name)
Converts name to valid MySQL 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 MySQL 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 MySQL column name Produced name must be used with backticks only, eg. `column_name`- Parameters:
name- source name- Returns:
- column name
-
toMysqlIdentifier
public String toMysqlIdentifier(String name, String prefix, String suffix)
Converts name to valid MySQL identifier which can be used as database, table, column name Produced name must be used with backticks 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
-
escapeMysqlUnquotedIdentifier
public String escapeMysqlUnquotedIdentifier(String identifier)
Escapes MySQL identifier to use it in SQL statements without backticks, eg. SELECT identifier FROM Ref: https://dev.mysql.com/doc/refman/8.0/en/identifiers.html- Parameters:
identifier- source identifier- Returns:
- escaped identifier
-
escapeMysqlQuotedIdentifier
public String escapeMysqlQuotedIdentifier(String identifier)
Escapes MySQL identifier to use it in SQL statements with backticks, eg. SELECT `identifier` FROM Ref: https://dev.mysql.com/doc/refman/8.0/en/identifiers.html- 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 classDefaultCodegen- 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 classDefaultCodegen- 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:DefaultCodegenoverride with any special text escaping logic to handle unsafe characters so as to avoid code injection- Specified by:
escapeUnsafeCharactersin interfaceCodegenConfig- Overrides:
escapeUnsafeCharactersin classDefaultCodegen- 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 MySQL queries Provided value will be escaped when necessary- Parameters:
databaseName- source name
-
getDefaultDatabaseName
public String getDefaultDatabaseName()
Returns default database name for all MySQL queries This value must be used with backticks only, eg. `database_name`- Returns:
- default database name
-
setJsonDataTypeEnabled
public void setJsonDataTypeEnabled(Boolean enabled)
Enables special JSON data type in all MySQL queries JSON data type requires MySQL version 5.7.8- Parameters:
enabled- true to enable, otherwise false
-
getJsonDataTypeEnabled
public Boolean getJsonDataTypeEnabled()
Whether JSON data type enabled or disabled in all MySQL queries- Returns:
- true if enabled otherwise false
-
setNamedParametersEnabled
public void setNamedParametersEnabled(Boolean enabled)
Enables named parameters in prepared SQLs- Parameters:
enabled- true to enable, otherwise false
-
getNamedParametersEnabled
public Boolean getNamedParametersEnabled()
Whether named parameters enabled or disabled in prepared SQLs- Returns:
- true if enabled otherwise false
-
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
-
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 classDefaultCodegen
-
-