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
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected static org.slf4j.Loggerprotected Stringprotected booleanFields 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 -
Method Summary
Modifier and TypeMethodDescriptionbooleancreateMapping(String key, String value) escapeQuotationMark(String input) Escape single and/or double quote to avoid code injectionescapeReservedWord(String name) Escapes a reserved word as defined in the `reservedWords` array.escapeUnsafeCharacters(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.ISchemaHandlergetSchemaType(io.swagger.v3.oas.models.media.Schema schema) returns the swagger type for the propertygetTypeDeclaration(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/packagepostProcessModels(Map<String, Object> objs) postProcessOperations(Map<String, Object> objs) voidpostProcessParameter(io.swagger.codegen.v3.CodegenParameter parameter) Overrides postProcessParameter to add a vendor extension "x-exportParamName".voidsetPackageName(String packageName) voidsetWithXml(boolean withXml) toApiFilename(String name) Return the file name of the Api TesttoEnumDefaultValue(String value, String datatype) Return the enum default value in the language specified formattoEnumName(io.swagger.codegen.v3.CodegenProperty property) Return the Enum name (e.g.toEnumValue(String value, String datatype) Return the enum value in the language specified format e.g.toEnumVarName(String name, String datatype) Return the sanitized variable name for enumtoModelFilename(String name) Return the capitalized file name of the modeltoModelName(String name) Output the proper model name (capitalized).toOperationId(String operationId) Return the operation ID (method name)toParamName(String name) Return the parameter name by removing invalid characters and proper escaping if it's a reserved word.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, writePropertyBackMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface io.swagger.codegen.v3.CodegenConfig
getCodeName, getHelp, getName, getPriority, getTag, isPrivileged
-
Field Details
-
LOGGER
protected static org.slf4j.Logger LOGGER -
withXml
protected boolean withXml -
packageName
-
-
Constructor Details
-
AbstractGoCodegen
public AbstractGoCodegen()
-
-
Method Details
-
escapeReservedWord
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
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
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
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
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
-
toModel
-
toApiFilename
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
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
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
Description copied from class:DefaultCodegenConfigReturn the operation ID (method name)- Overrides:
toOperationIdin classDefaultCodegenConfig- Parameters:
operationId- operation ID- Returns:
- the sanitized method name
-
postProcessOperations
- Specified by:
postProcessOperationsin interfaceio.swagger.codegen.v3.CodegenConfig- Overrides:
postProcessOperationsin classDefaultCodegenConfig
-
postProcessModels
- Specified by:
postProcessModelsin interfaceio.swagger.codegen.v3.CodegenConfig- Overrides:
postProcessModelsin classDefaultCodegenConfig
-
postProcessSupportingFileData
- Specified by:
postProcessSupportingFileDatain interfaceio.swagger.codegen.v3.CodegenConfig- Overrides:
postProcessSupportingFileDatain classDefaultCodegenConfig
-
needToImport
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
-
escapeQuotationMark
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
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
-
createMapping
-
toEnumValue
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
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
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
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()
-