Class AbstractGoCodegen
- java.lang.Object
-
- io.swagger.codegen.v3.generators.DefaultCodegenConfig
-
- io.swagger.codegen.v3.generators.go.AbstractGoCodegen
-
- All Implemented Interfaces:
io.swagger.codegen.v3.CodegenConfig
- Direct Known Subclasses:
GoClientCodegen,GoServerCodegen
public abstract class AbstractGoCodegen extends DefaultCodegenConfig
-
-
Field Summary
Fields Modifier and Type Field Description protected static org.slf4j.LoggerLOGGERprotected StringpackageNameprotected booleanwithXml-
Fields inherited from class io.swagger.codegen.v3.generators.DefaultCodegenConfig
additionalProperties, allowUnicodeIdentifiers, apiDocTemplateFiles, apiPackage, apiTemplateFiles, apiTestTemplateFiles, cliOptions, commonTemplateDir, configFiles, customTemplateDir, DEFAULT_CONTENT_TYPE, DEFAULT_TEMPLATE_DIR, defaultIncludes, embeddedTemplateDir, ensureUniqueParams, fileSuffix, gitRepoBaseURL, gitRepoId, gitUserId, hideGenerationTimestamp, httpUserAgent, ignoreFilePathOverride, ignoreImportMapping, importMapping, inputSpec, inputURL, instantiationTypes, IS_NULLABLE_FALSE, IS_NULLABLE_TRUE, languageArguments, languageSpecificPrimitives, library, modelDocTemplateFiles, modelNamePrefix, modelNameSuffix, modelPackage, modelTemplateFiles, modelTestTemplateFiles, openAPI, outputFolder, releaseNote, removeOperationIdPrefix, REQUEST_BODY_NAME, reservedWords, reservedWordsMappings, skipOverwrite, sortParamsByRequiredFlag, specialCharReplacements, supportedLibraries, supportingFiles, supportsInheritance, supportsMixins, templateDir, templateEngine, templateVersion, testPackage, typeAliases, typeMapping, unflattenedOpenAPI, useOas2, vendorExtensions
-
-
Constructor Summary
Constructors Constructor Description AbstractGoCodegen()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description booleancheckAliasModel()Map<String,String>createMapping(String key, String value)StringescapeQuotationMark(String input)Escape single and/or double quote to avoid code injectionStringescapeReservedWord(String name)Escapes a reserved word as defined in the `reservedWords` array.StringescapeUnsafeCharacters(String input)override with any special text escaping logic to handle unsafe characters so as to avoid code injectionio.swagger.codegen.v3.CodegenModelfromModel(String name, io.swagger.v3.oas.models.media.Schema schema, Map<String,io.swagger.v3.oas.models.media.Schema> allDefinitions)Convert Swagger Model object to Codegen Model objectio.swagger.codegen.v3.ISchemaHandlergetSchemaHandler()StringgetSchemaType(io.swagger.v3.oas.models.media.Schema schema)returns the swagger type for the propertyStringgetTypeDeclaration(io.swagger.v3.oas.models.media.Schema schema)Output the type declaration of the propertyprotected booleanneedToImport(String type)Check the type to see if it needs import the library/module/packageMap<String,Object>postProcessModels(Map<String,Object> objs)Map<String,Object>postProcessOperations(Map<String,Object> objs)voidpostProcessParameter(io.swagger.codegen.v3.CodegenParameter parameter)Overrides postProcessParameter to add a vendor extension "x-exportParamName".Map<String,Object>postProcessSupportingFileData(Map<String,Object> objs)voidsetPackageName(String packageName)voidsetWithXml(boolean withXml)StringtoApiFilename(String name)Return the file name of the Api TestStringtoEnumDefaultValue(String value, String datatype)Return the enum default value in the language specified formatStringtoEnumName(io.swagger.codegen.v3.CodegenProperty property)Return the Enum name (e.g.StringtoEnumValue(String value, String datatype)Return the enum value in the language specified format e.g.StringtoEnumVarName(String name, String datatype)Return the sanitized variable name for enumStringtoModel(String name)StringtoModelFilename(String name)Return the capitalized file name of the modelStringtoModelName(String name)Output the proper model name (capitalized).StringtoOperationId(String operationId)Return the operation ID (method name)StringtoParamName(String name)Return the parameter name by removing invalid characters and proper escaping if it's a reserved word.StringtoVarName(String name)Return the variable name by removing invalid characters and proper escaping if it's a reserved word.-
Methods inherited from class io.swagger.codegen.v3.generators.DefaultCodegenConfig
addAdditionPropertiesToCodeGenModel, addCodegenContentParameters, addConsumesInfo, addHandlebarHelpers, addImport, additionalProperties, addOperationImports, addOperationToGroup, addOption, addOption, addParameters, addParentContainer, addProducesInfo, addProperties, addRegularExpressionDelimiter, addSwitch, addVars, apiDocFileFolder, apiDocFilename, apiDocTemplateFiles, apiFileFolder, apiFilename, apiPackage, apiTemplateFiles, apiTestFileFolder, apiTestFilename, apiTestTemplateFiles, buildLibraryCliOption, camelize, camelize, cliOptions, configFiles, configureDataForTestTemplate, configuresParameterForMediaType, convertPropertyToBoolean, convertPropertyToBooleanAndWriteBack, copyFirstAllOfProperties, customTemplateDir, dashize, defaultIgnoreImportMappingOption, defaultIncludes, detectParent, embeddedTemplateDir, ensureUniqueParameters, escapeText, fileSuffix, findCommonPrefixOfVars, findMethodResponse, fixUpParentAndInterfaces, fromModel, fromOperation, fromOperation, fromParameter, fromProperty, fromRequestBody, fromResponse, fromSecurity, generateExamplePath, getAlias, getArgumentsLocation, getCollectionFormat, getCommonTemplateDir, getConsumesInfo, getContentType, getDefaultTemplateDir, getGitRepoBaseURL, getGitRepoId, getGitUserId, getHideGenerationTimestamp, getHttpUserAgent, getIgnoreFilePathOverride, getIgnoreImportMapping, getInnerEnumAllowableValues, getInputSpec, getInputURL, getLanguageArguments, getLibrary, getOpenAPI, getOptionValue, getOrGenerateOperationId, getOutputDir, getParameterFromRef, getParentName, getProducesInfo, getReleaseNote, getSchemaFromBody, getSchemaFromParameter, getSchemaFromResponse, getSortParamsByRequiredFlag, getSymbolName, getTemplateDir, getTemplateEngine, getTemplateVersion, getterAndSetterCapitalize, getTypeDeclaration, hasSchemaProperties, hasTrueAdditionalProperties, importMapping, initialCaps, instantiationTypes, isDataTypeBinary, isDataTypeFile, isFileTypeSchema, isObjectSchema, isPrimivite, isPropertyInnerMostEnum, isRemoveOperationIdPrefix, isReservedWord, isSkipOverwrite, languageSpecificPrimitives, modelDocFileFolder, modelDocTemplateFiles, modelFileFolder, modelPackage, modelTemplateFiles, modelTestFileFolder, modelTestTemplateFiles, needsUnflattenedSpec, outputFolder, postProcessAllCodegenModels, postProcessAllModels, postProcessModelProperty, postProcessModelsEnum, postProcessOperationsWithModels, preprocessOpenAPI, processCompiler, processMapSchema, processModelEnums, processOpenAPI, processOpts, processPropertySchemaContainerTypes, processPropertySchemaTypes, readLanguageArguments, removeNonNameElementToCamelCase, removeNonNameElementToCamelCase, reservedWords, reservedWordsMappings, sanitizeName, sanitizeTag, setAllowUnicodeIdentifiers, setApiPackage, setCommonTemplateDir, setEnsureUniqueParams, setGitRepoBaseURL, setGitRepoId, setGitUserId, setHideGenerationTimestamp, setHttpUserAgent, setIgnoreFilePathOverride, setIgnoreImportMapping, setInputSpec, setInputURL, setLanguageArguments, setLibrary, setModelNamePrefix, setModelNameSuffix, setModelPackage, setNonArrayMapProperty, setOutputDir, setParameterBooleanFlagWithCodegenProperty, setParameterExampleValue, setParameterJson, setParameterNullable, setReleaseNote, setRemoveOperationIdPrefix, setReservedWords, setReservedWordsLowerCase, setSchemaProperties, setSkipOverwrite, setSortParamsByRequiredFlag, setTemplateDir, setTemplateEngine, setTemplateVersion, setUnflattenedOpenAPI, setUseOas2, shouldOverwrite, snakeCase, supportedLibraries, supportingFiles, templateDir, testPackage, toApiDocFilename, toApiImport, toApiName, toApiTestFilename, toApiVarName, toBooleanGetter, toDefaultValue, toDefaultValueWithParam, toExamples, toExampleValue, toGetter, toInstantiationType, toModelDocFilename, toModelImport, toModelTestFilename, toRegularExpression, toSetter, typeMapping, underscore, updateCodegenModelEnumVars, updateCodegenPropertyEnum, updateDataTypeWithEnumForArray, updateDataTypeWithEnumForMap, updatePropertyForArray, updatePropertyForMap, vendorExtensions, writeOptional, writeOptional, writePropertyBack
-
-
-
-
Field Detail
-
LOGGER
protected static org.slf4j.Logger LOGGER
-
withXml
protected boolean withXml
-
packageName
protected String packageName
-
-
Method Detail
-
escapeReservedWord
public String escapeReservedWord(String name)
Escapes a reserved word as defined in the `reservedWords` array. Handle escaping those terms here. This logic is only called if a variable matches the reserved words- Specified by:
escapeReservedWordin interfaceio.swagger.codegen.v3.CodegenConfig- Overrides:
escapeReservedWordin classDefaultCodegenConfig- Parameters:
name- the name to be escaped- Returns:
- the escaped term
-
toVarName
public String toVarName(String name)
Description copied from class:DefaultCodegenConfigReturn the variable name by removing invalid characters and proper escaping if it's a reserved word.- Overrides:
toVarNamein classDefaultCodegenConfig- Parameters:
name- the variable name- Returns:
- the sanitized variable name
-
toParamName
public String toParamName(String name)
Description copied from class:DefaultCodegenConfigReturn the parameter name by removing invalid characters and proper escaping if it's a reserved word.- Specified by:
toParamNamein interfaceio.swagger.codegen.v3.CodegenConfig- Overrides:
toParamNamein classDefaultCodegenConfig- Parameters:
name- Codegen property object- Returns:
- the sanitized parameter name
-
toModelName
public String toModelName(String name)
Description copied from class:DefaultCodegenConfigOutput the proper model name (capitalized). In case the name belongs to the TypeSystem it won't be renamed.- Specified by:
toModelNamein interfaceio.swagger.codegen.v3.CodegenConfig- Overrides:
toModelNamein classDefaultCodegenConfig- Parameters:
name- the name of the model- Returns:
- capitalized model name
-
toModelFilename
public String toModelFilename(String name)
Description copied from class:DefaultCodegenConfigReturn the capitalized file name of the model- Specified by:
toModelFilenamein interfaceio.swagger.codegen.v3.CodegenConfig- Overrides:
toModelFilenamein classDefaultCodegenConfig- Parameters:
name- the model name- Returns:
- the file name of the model
-
toApiFilename
public String toApiFilename(String name)
Description copied from class:DefaultCodegenConfigReturn the file name of the Api Test- Specified by:
toApiFilenamein interfaceio.swagger.codegen.v3.CodegenConfig- Overrides:
toApiFilenamein classDefaultCodegenConfig- Parameters:
name- the file name of the Api- Returns:
- the file name of the Api
-
postProcessParameter
public void postProcessParameter(io.swagger.codegen.v3.CodegenParameter parameter)
Overrides postProcessParameter to add a vendor extension "x-exportParamName". This is useful when paramName starts with a lowercase letter, but we need that param to be exportable (starts with an Uppercase letter).- Specified by:
postProcessParameterin interfaceio.swagger.codegen.v3.CodegenConfig- Overrides:
postProcessParameterin classDefaultCodegenConfig- Parameters:
parameter- CodegenParameter object to be processed.
-
getTypeDeclaration
public String getTypeDeclaration(io.swagger.v3.oas.models.media.Schema schema)
Description copied from class:DefaultCodegenConfigOutput the type declaration of the property- Specified by:
getTypeDeclarationin interfaceio.swagger.codegen.v3.CodegenConfig- Overrides:
getTypeDeclarationin classDefaultCodegenConfig- Parameters:
schema- Schema Property object- Returns:
- a string presentation of the property type
-
getSchemaType
public String getSchemaType(io.swagger.v3.oas.models.media.Schema schema)
Description copied from class:DefaultCodegenConfigreturns the swagger type for the property- Overrides:
getSchemaTypein classDefaultCodegenConfig- Parameters:
schema- Schema property object- Returns:
- string presentation of the type
-
toOperationId
public String toOperationId(String operationId)
Description copied from class:DefaultCodegenConfigReturn the operation ID (method name)- Overrides:
toOperationIdin classDefaultCodegenConfig- Parameters:
operationId- operation ID- Returns:
- the sanitized method name
-
postProcessOperations
public Map<String,Object> postProcessOperations(Map<String,Object> objs)
- Specified by:
postProcessOperationsin interfaceio.swagger.codegen.v3.CodegenConfig- Overrides:
postProcessOperationsin classDefaultCodegenConfig
-
postProcessModels
public Map<String,Object> postProcessModels(Map<String,Object> objs)
- Specified by:
postProcessModelsin interfaceio.swagger.codegen.v3.CodegenConfig- Overrides:
postProcessModelsin classDefaultCodegenConfig
-
postProcessSupportingFileData
public Map<String,Object> postProcessSupportingFileData(Map<String,Object> objs)
- Specified by:
postProcessSupportingFileDatain interfaceio.swagger.codegen.v3.CodegenConfig- Overrides:
postProcessSupportingFileDatain classDefaultCodegenConfig
-
needToImport
protected boolean needToImport(String type)
Description copied from class:DefaultCodegenConfigCheck the type to see if it needs import the library/module/package- Overrides:
needToImportin classDefaultCodegenConfig- Parameters:
type- name of the type- Returns:
- true if the library/module/package of the corresponding type needs to be imported
-
setPackageName
public void setPackageName(String packageName)
-
escapeQuotationMark
public String escapeQuotationMark(String input)
Description copied from class:DefaultCodegenConfigEscape single and/or double quote to avoid code injection- Specified by:
escapeQuotationMarkin interfaceio.swagger.codegen.v3.CodegenConfig- Overrides:
escapeQuotationMarkin classDefaultCodegenConfig- 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:DefaultCodegenConfigoverride with any special text escaping logic to handle unsafe characters so as to avoid code injection- Specified by:
escapeUnsafeCharactersin interfaceio.swagger.codegen.v3.CodegenConfig- Overrides:
escapeUnsafeCharactersin classDefaultCodegenConfig- Parameters:
input- String to be cleaned up- Returns:
- string with unsafe characters removed or escaped
-
toEnumValue
public String toEnumValue(String value, String datatype)
Description copied from class:DefaultCodegenConfigReturn the enum value in the language specified format e.g. status becomes "status"- Overrides:
toEnumValuein classDefaultCodegenConfig- Parameters:
value- enum variable namedatatype- data type- Returns:
- the sanitized value for enum
-
toEnumDefaultValue
public String toEnumDefaultValue(String value, String datatype)
Description copied from class:DefaultCodegenConfigReturn the enum default value in the language specified format- Overrides:
toEnumDefaultValuein classDefaultCodegenConfig- Parameters:
value- enum variable namedatatype- data type- Returns:
- the default value for the enum
-
toEnumVarName
public String toEnumVarName(String name, String datatype)
Description copied from class:DefaultCodegenConfigReturn the sanitized variable name for enum- Overrides:
toEnumVarNamein classDefaultCodegenConfig- Parameters:
name- enum variable namedatatype- data type- Returns:
- the sanitized variable name for enum
-
toEnumName
public String toEnumName(io.swagger.codegen.v3.CodegenProperty property)
Description copied from class:DefaultCodegenConfigReturn the Enum name (e.g. StatusEnum given 'status')- Overrides:
toEnumNamein classDefaultCodegenConfig- Parameters:
property- Codegen property- Returns:
- the Enum name
-
setWithXml
public void setWithXml(boolean withXml)
-
fromModel
public io.swagger.codegen.v3.CodegenModel fromModel(String name, io.swagger.v3.oas.models.media.Schema schema, Map<String,io.swagger.v3.oas.models.media.Schema> allDefinitions)
Description copied from class:DefaultCodegenConfigConvert Swagger Model object to Codegen Model object- Specified by:
fromModelin interfaceio.swagger.codegen.v3.CodegenConfig- Overrides:
fromModelin classDefaultCodegenConfig- Parameters:
name- the name of the modelschema- Swagger Model objectallDefinitions- a map of all Swagger models from the spec- Returns:
- Codegen Model object
-
getSchemaHandler
public io.swagger.codegen.v3.ISchemaHandler getSchemaHandler()
- Specified by:
getSchemaHandlerin interfaceio.swagger.codegen.v3.CodegenConfig- Overrides:
getSchemaHandlerin classDefaultCodegenConfig
-
checkAliasModel
public boolean checkAliasModel()
-
-