public class MysqlSchemaCodegen extends DefaultCodegen implements CodegenConfig
| 限定符和类型 | 字段和说明 |
|---|---|
static String |
CODEGEN_VENDOR_EXTENSION_KEY |
protected String |
columnNamePrefix |
protected String |
columnNameSuffix |
protected String |
databaseNamePrefix |
protected String |
databaseNameSuffix |
static String |
DEFAULT_DATABASE_NAME |
protected String |
defaultDatabaseName |
static Integer |
ENUM_MAX_ELEMENTS |
static Integer |
IDENTIFIER_MAX_LENGTH |
static String |
JSON_DATA_TYPE_ENABLED |
protected Boolean |
jsonDataTypeEnabled |
protected Vector<String> |
mysqlDateAndTimeTypes |
protected Vector<String> |
mysqlNumericTypes |
protected Vector<String> |
mysqlSpatialTypes |
protected Vector<String> |
mysqlStringTypes |
protected String |
tableNamePrefix |
protected String |
tableNameSuffix |
additionalProperties, allowUnicodeIdentifiers, apiDocTemplateFiles, apiPackage, apiTemplateFiles, apiTestTemplateFiles, cliOptions, commonTemplateDir, defaultIncludes, docExtension, embeddedTemplateDir, enablePostProcessFile, ensureUniqueParams, fileSuffix, gitRepoId, gitUserId, globalOpenAPI, globalSchemas, hideGenerationTimestamp, httpUserAgent, ignoreFilePathOverride, importMapping, inputSpec, instantiationTypes, languageSpecificPrimitives, library, modelDocTemplateFiles, modelNamePrefix, modelNameSuffix, modelPackage, modelTemplateFiles, modelTestTemplateFiles, outputFolder, prependFormOrBodyParameters, releaseNote, removeOperationIdPrefix, reservedWords, reservedWordsMappings, skipOverwrite, sortParamsByRequiredFlag, specialCharReplacements, supportedLibraries, supportingFiles, supportsInheritance, supportsMixins, templateDir, testPackage, typeAliases, typeMapping, vendorExtensions| 构造器和说明 |
|---|
MysqlSchemaCodegen() |
| 限定符和类型 | 方法和说明 |
|---|---|
String |
escapeMysqlQuotedIdentifier(String identifier)
Escapes MySQL identifier to use it in SQL statements with backticks, eg.
|
String |
escapeMysqlUnquotedIdentifier(String identifier)
Escapes MySQL identifier to use it in SQL statements without backticks, eg.
|
String |
escapeQuotationMark(String input)
Escape single and/or double quote to avoid code injection
|
String |
escapeReservedWord(String name)
Return the escaped name of the reserved word
|
String |
escapeUnsafeCharacters(String input)
override with any special text escaping logic to handle unsafe
characters so as to avoid code injection
|
String |
getDefaultDatabaseName()
Returns default database name for all MySQL queries
This value must be used with backticks only, eg.
|
String |
getHelp() |
Boolean |
getJsonDataTypeEnabled()
Whether JSON data type enabled or disabled in all MySQL queries
|
String |
getMysqlMatchedIntegerDataType(Long minimum,
Long maximum,
Boolean unsigned)
Finds best fitted MySQL data type for integer variable based on minimum and maximum properties
|
String |
getMysqlMatchedStringDataType(Integer minLength,
Integer maxLength)
Finds best fitted MySQL data type for string variable based on minLength and maxLength properties
|
String |
getName() |
CodegenType |
getTag() |
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
|
void |
postProcessModelProperty(CodegenModel model,
CodegenProperty property) |
Map<String,Object> |
postProcessModels(Map<String,Object> objs) |
void |
processBooleanTypeProperty(CodegenModel model,
CodegenProperty property)
Processes each model's property mapped to boolean type and adds related vendor extensions
|
void |
processDateTypeProperty(CodegenModel model,
CodegenProperty property)
Processes each model's property mapped to date type and adds related vendor extensions
|
void |
processDecimalTypeProperty(CodegenModel model,
CodegenProperty property)
Processes each model's property mapped to decimal type and adds related vendor extensions
|
void |
processIntegerTypeProperty(CodegenModel model,
CodegenProperty property)
Processes each model's property mapped to integer type and adds related vendor extensions
|
void |
processJsonTypeProperty(CodegenModel model,
CodegenProperty property)
Processes each model's property mapped to JSON type and adds related vendor extensions
|
void |
processOpts() |
void |
processStringTypeProperty(CodegenModel model,
CodegenProperty property)
Processes each model's property mapped to string type and adds related vendor extensions
|
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.
|
void |
setDefaultDatabaseName(String databaseName)
Sets default database name for all MySQL queries
Provided value will be escaped when necessary
|
void |
setJsonDataTypeEnabled(Boolean enabled)
Enables special JSON data type in all MySQL queries
JSON data type requires MySQL version 5.7.8
|
HashMap<String,Object> |
toCodegenMysqlDataTypeArgument(Object value,
Boolean hasMore)
Generates codegen property for MySQL data type argument
|
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
|
String |
toColumnName(String name)
Converts name to valid MySQL column name
Produced name must be used with backticks only, eg.
|
String |
toDatabaseName(String name)
Converts name to valid MySQL database name
Produced name must be used with backticks only, eg.
|
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.
|
String |
toTableName(String name)
Converts name to valid MySQL column name
Produced name must be used with backticks only, eg.
|
addAdditionPropertiesToCodeGenModel, addImport, additionalProperties, addOperationToGroup, addOption, addProperties, addRegularExpressionDelimiter, addSwitch, apiDocFileFolder, apiDocFilename, apiDocTemplateFiles, apiFileFolder, apiFilename, apiPackage, apiTemplateFiles, apiTestFileFolder, apiTestFilename, apiTestTemplateFiles, buildLibraryCliOption, camelize, camelize, cliOptions, convertPropertyToBoolean, convertPropertyToBooleanAndWriteBack, dashize, defaultIncludes, embeddedTemplateDir, escapeSpecialCharacters, escapeText, escapeTextWhileAllowingNewLines, fileSuffix, findCommonPrefixOfVars, findMethodResponse, fromCallback, fromFormProperty, fromModel, fromOperation, fromOperation, fromParameter, fromProperty, fromRequestBody, fromRequestBodyToFormParameters, fromResponse, fromSecurity, fromServers, fromServerVariables, generateExamplePath, generateJSONSpecFile, generateYAMLSpecFile, getAlias, getCollectionFormat, getCommonTemplateDir, getConsumesInfo, getContentType, getDocExtension, getGitRepoId, getGitUserId, getHttpUserAgent, getIgnoreFilePathOverride, getInnerEnumAllowableValues, getInputSpec, getLibrary, getMostInnerItems, getOrGenerateOperationId, getOutputDir, getParameterDataType, getParameterFromRef, getParentName, getProducesInfo, getReleaseNote, getSchemaType, getSymbolName, getterAndSetterCapitalize, getTypeDeclaration, getTypeDeclaration, hasBodyParameter, hasFormParameter, importMapping, initalizeSpecialCharacterMapping, initialCaps, instantiationTypes, isDataTypeBinary, isDataTypeFile, isDataTypeString, isEnablePostProcessFile, isHideGenerationTimestamp, isParameterNameUnique, isPropertyInnerMostEnum, isRemoveOperationIdPrefix, isReservedWord, isSkipOverwrite, languageSpecificPrimitives, modelDocFileFolder, modelDocTemplateFiles, modelFileFolder, modelPackage, modelTemplateFiles, modelTestFileFolder, modelTestTemplateFiles, needToImport, outputFolder, postProcessAllModels, postProcessFile, postProcessModelsEnum, postProcessOperations, postProcessOperationsWithModels, postProcessParameter, postProcessSupportingFileData, preprocessOpenAPI, processCompiler, processOpenAPI, removeNonNameElementToCamelCase, removeNonNameElementToCamelCase, reservedWords, reservedWordsMappings, sanitizeName, sanitizeName, sanitizeTag, setAllowUnicodeIdentifiers, setApiPackage, setCommonTemplateDir, setDocExtension, setEnablePostProcessFile, setEnsureUniqueParams, setGitRepoId, setGitUserId, setGlobalOpenAPI, setGlobalSchemas, setHideGenerationTimestamp, setHttpUserAgent, setIgnoreFilePathOverride, setInputSpec, setLibrary, setModelNamePrefix, setModelNameSuffix, setModelPackage, setNonArrayMapProperty, setOutputDir, setParameterBooleanFlagWithCodegenProperty, setParameterExampleValue, setParameterExampleValue, setParameterExampleValue, setPrependFormOrBodyParameters, setReleaseNote, setRemoveOperationIdPrefix, setReservedWordsLowerCase, setSkipOverwrite, setSortParamsByRequiredFlag, setTemplateDir, shouldOverwrite, snakeCase, supportedLibraries, supportingFiles, templateDir, testPackage, toApiDocFilename, toApiFilename, toApiImport, toApiName, toApiTestFilename, toApiVarName, toArrayModelParamName, toBooleanGetter, toDefaultValue, toDefaultValueWithParam, toEnumDefaultValue, toEnumName, toEnumValue, toEnumVarName, toExamples, toExampleValue, toGetter, toGetter, toInstantiationType, toModelDocFilename, toModelFilename, toModelImport, toModelName, toModelTestFilename, toOperationId, toParamName, toRegularExpression, toSetter, toSetter, toVarName, typeMapping, underscore, updateCodegenPropertyEnum, updateDataTypeWithEnumForArray, updateDataTypeWithEnumForMap, updatePropertyForArray, updatePropertyForMap, vendorExtensions, writeOptional, writePropertyBackclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitadditionalProperties, addOperationToGroup, apiDocFileFolder, apiDocFilename, apiDocTemplateFiles, apiFileFolder, apiFilename, apiPackage, apiTemplateFiles, apiTestFileFolder, apiTestFilename, apiTestTemplateFiles, cliOptions, defaultIncludes, embeddedTemplateDir, escapeText, escapeTextWhileAllowingNewLines, fileSuffix, fromModel, fromOperation, fromOperation, fromSecurity, fromServers, fromServerVariables, generateExamplePath, getCommonTemplateDir, getDocExtension, getGitRepoId, getGitUserId, getHttpUserAgent, getIgnoreFilePathOverride, getInputSpec, getLibrary, getOutputDir, getReleaseNote, getTypeDeclaration, getTypeDeclaration, importMapping, instantiationTypes, isEnablePostProcessFile, isHideGenerationTimestamp, isRemoveOperationIdPrefix, isSkipOverwrite, languageSpecificPrimitives, modelDocFileFolder, modelDocTemplateFiles, modelFileFolder, modelPackage, modelTemplateFiles, modelTestFileFolder, modelTestTemplateFiles, outputFolder, postProcessAllModels, postProcessFile, postProcessOperations, postProcessOperationsWithModels, postProcessParameter, postProcessSupportingFileData, preprocessOpenAPI, processCompiler, processOpenAPI, reservedWords, reservedWordsMappings, sanitizeName, sanitizeTag, setDocExtension, setEnablePostProcessFile, setGitRepoId, setGitUserId, setGlobalOpenAPI, setGlobalSchemas, setHideGenerationTimestamp, setHttpUserAgent, setIgnoreFilePathOverride, setInputSpec, setLibrary, setOutputDir, setReleaseNote, setRemoveOperationIdPrefix, setSkipOverwrite, shouldOverwrite, supportedLibraries, supportingFiles, templateDir, testPackage, toApiDocFilename, toApiFilename, toApiImport, toApiName, toApiTestFilename, toApiVarName, toBooleanGetter, toGetter, toModelDocFilename, toModelFilename, toModelImport, toModelName, toModelTestFilename, toParamName, toSetter, typeMapping, vendorExtensionspublic static final Integer ENUM_MAX_ELEMENTS
public static final Integer IDENTIFIER_MAX_LENGTH
protected String defaultDatabaseName
protected String databaseNamePrefix
protected String databaseNameSuffix
protected String tableNamePrefix
protected String tableNameSuffix
protected String columnNamePrefix
protected String columnNameSuffix
protected Boolean jsonDataTypeEnabled
public CodegenType getTag()
getTag 在接口中 CodegenConfiggetTag 在类中 DefaultCodegenpublic String getName()
getName 在接口中 CodegenConfiggetName 在类中 DefaultCodegenpublic String getHelp()
getHelp 在接口中 CodegenConfiggetHelp 在类中 DefaultCodegenpublic void processOpts()
processOpts 在接口中 CodegenConfigprocessOpts 在类中 DefaultCodegenpublic Map<String,Object> postProcessModels(Map<String,Object> objs)
postProcessModels 在接口中 CodegenConfigpostProcessModels 在类中 DefaultCodegenpublic void postProcessModelProperty(CodegenModel model, CodegenProperty property)
postProcessModelProperty 在接口中 CodegenConfigpostProcessModelProperty 在类中 DefaultCodegenpublic void processIntegerTypeProperty(CodegenModel model, CodegenProperty property)
model - modelproperty - model's propertypublic void processDecimalTypeProperty(CodegenModel model, CodegenProperty property)
model - modelproperty - model's propertypublic void processBooleanTypeProperty(CodegenModel model, CodegenProperty property)
model - modelproperty - model's propertypublic void processStringTypeProperty(CodegenModel model, CodegenProperty property)
model - modelproperty - model's propertypublic void processDateTypeProperty(CodegenModel model, CodegenProperty property)
model - modelproperty - model's propertypublic void processJsonTypeProperty(CodegenModel model, CodegenProperty property)
model - modelproperty - model's propertypublic void processUnknownTypeProperty(CodegenModel model, CodegenProperty property)
model - modelproperty - model's propertypublic HashMap<String,Object> toCodegenMysqlDataTypeArgument(Object value, Boolean hasMore)
value - argument valuehasMore - shows whether codegen has more arguments or notpublic HashMap<String,Object> toCodegenMysqlDataTypeDefault(String defaultValue, String mysqlDataType)
defaultValue - valuemysqlDataType - MySQL data typepublic String getMysqlMatchedIntegerDataType(Long minimum, Long maximum, Boolean unsigned)
minimum - (optional) codegen propertymaximum - (optional) codegen propertyunsigned - (optional) whether variable is unsigned or notpublic String getMysqlMatchedStringDataType(Integer minLength, Integer maxLength)
minLength - (optional) codegen propertymaxLength - (optional) codegen propertypublic Boolean isMysqlDataType(String dataType)
dataType - which needs to checkpublic String toDatabaseName(String name)
name - source namepublic String toTableName(String name)
name - source namepublic String toColumnName(String name)
name - source namepublic String toMysqlIdentifier(String name, String prefix, String suffix)
name - source nameprefix - when escaped name is digits only, prefix will be prependedsuffix - when escaped name is digits only, suffix will be appendedpublic String escapeMysqlUnquotedIdentifier(String identifier)
identifier - source identifierpublic String escapeMysqlQuotedIdentifier(String identifier)
identifier - source identifierpublic String escapeReservedWord(String name)
DefaultCodegenescapeReservedWord 在接口中 CodegenConfigescapeReservedWord 在类中 DefaultCodegenname - the name to be escapedthrows Runtime exception as reserved word is not allowed (default behavior)
public String escapeQuotationMark(String input)
DefaultCodegenescapeQuotationMark 在接口中 CodegenConfigescapeQuotationMark 在类中 DefaultCodegeninput - String to be cleaned uppublic String escapeUnsafeCharacters(String input)
DefaultCodegenescapeUnsafeCharacters 在接口中 CodegenConfigescapeUnsafeCharacters 在类中 DefaultCodegeninput - String to be cleaned uppublic void setDefaultDatabaseName(String databaseName)
databaseName - source namepublic String getDefaultDatabaseName()
public void setJsonDataTypeEnabled(Boolean enabled)
enabled - true to enable, otherwise falsepublic Boolean getJsonDataTypeEnabled()
Copyright © 2019. All rights reserved.