Class AbstractCSharpCodegen
java.lang.Object
io.swagger.codegen.v3.generators.DefaultCodegenConfig
io.swagger.codegen.v3.generators.dotnet.AbstractCSharpCodegen
- All Implemented Interfaces:
io.swagger.codegen.v3.CodegenConfig
- Direct Known Subclasses:
AspNetCoreServerCodegen,CSharpClientCodegen,CsharpDotNet2ClientCodegen
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected Stringprotected org.slf4j.Loggerprotected Stringprotected booleanprotected booleanprotected booleanprotected booleanprotected booleanprotected Stringprotected Stringprotected Stringprotected Stringprotected Stringprotected Stringprotected Stringprotected Stringprotected booleanprotected booleanprotected Stringprotected Stringprotected booleanprotected 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 TypeMethodDescriptionprotected voidaddCodegenContentParameters(io.swagger.codegen.v3.CodegenOperation codegenOperation, List<io.swagger.codegen.v3.CodegenContent> codegenContents) voidaddHandlebarHelpers(com.github.jknack.handlebars.Handlebars handlebars) booleanescapeQuotationMark(String input) Escape single and/or double quote to avoid code injectionescapeReservedWord(String name) Return the escaped name of the reserved wordescapeUnsafeCharacters(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 objectprotected StringgetRefSchemaTargetType(io.swagger.v3.oas.models.media.Schema schema, String schemaType) getSchemaType(io.swagger.v3.oas.models.media.Schema propertySchema) returns the swagger type for the propertygetTypeDeclaration(io.swagger.v3.oas.models.media.Schema propertySchema) Output the type declaration of the propertybooleanprotected booleanisReservedWord(String word) postProcessAllModels(Map<String, Object> objs) Invoked by {DefaultGenerator} after all models have been post-processed, allowing for a last pass of codegen-specific model cleanup.voidpostProcessModelProperty(io.swagger.codegen.v3.CodegenModel model, io.swagger.codegen.v3.CodegenProperty property) postProcessModels(Map<String, Object> objs) postProcessOperations(Map<String, Object> objs) voidpreprocessOpenAPI(io.swagger.v3.oas.models.OpenAPI openAPI) preserveNewlines(String input, int tabstops) protected voidprocessOperation(io.swagger.codegen.v3.CodegenOperation operation) voidvoidsetInterfacePrefix(String interfacePrefix) voidsetNetCoreProjectFileFlag(boolean flag) voidsetOptionalEmitDefaultValue(boolean optionalEmitDefaultValue) voidsetOptionalMethodArgumentFlag(boolean flag) voidsetPackageAuthors(String packageAuthors) voidsetPackageCompany(String packageCompany) voidsetPackageCopyright(String packageCopyright) voidsetPackageDescription(String packageDescription) voidsetPackageName(String packageName) voidsetPackageProductName(String packageProductName) voidsetPackageTitle(String packageTitle) voidsetPackageVersion(String packageVersion) voidsetPreserveNewLines(boolean preserveNewLines) voidsetReturnICollection(boolean returnICollection) voidsetSourceFolder(String sourceFolder) voidsetUseCollection(boolean useCollection) toApiTestFilename(String name) Return the file name of the Api TesttoDefaultValue(io.swagger.v3.oas.models.media.Schema schema) Return the default value of the propertytoEnumName(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 enumtoExampleValue(io.swagger.v3.oas.models.media.Schema schema) Return the example value of the propertytoInstantiationType(io.swagger.v3.oas.models.media.Schema schema) Return the instantiation type of the property, especially for map and arraytoModelFilename(String name) Return the capitalized file name of the modeltoModelName(String name) Output the proper model name (capitalized).toModelTestFilename(String name) Return the capitalized file name of the model testtoOperationId(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.voidupdateCodegenPropertyEnum(io.swagger.codegen.v3.CodegenProperty var) Update codegen property's enum by adding "enumVars" (with name and value)voiduseDateTimeOffset(boolean flag) Methods inherited from class io.swagger.codegen.v3.generators.DefaultCodegenConfig
addAdditionPropertiesToCodeGenModel, addConsumesInfo, addImport, additionalProperties, addOperationImports, addOperationToGroup, addOption, addOption, addParameters, addParentContainer, addProducesInfo, addProperties, addRegularExpressionDelimiter, addSwitch, addVars, apiDocFileFolder, apiDocFilename, apiDocTemplateFiles, apiFilename, apiPackage, apiTemplateFiles, 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, getGitRepoBaseURL, getGitRepoId, getGitUserId, getHideGenerationTimestamp, getHttpUserAgent, getIgnoreFilePathOverride, getIgnoreImportMapping, getInnerEnumAllowableValues, getInputSpec, getInputURL, getLanguageArguments, getLibrary, getOpenAPI, getOptionValue, getOrGenerateOperationId, getOutputDir, getParameterFromRef, getParentName, getProducesInfo, getReleaseNote, getSchemaFromBody, getSchemaFromParameter, getSchemaFromResponse, getSchemaHandler, getSortParamsByRequiredFlag, getSymbolName, getTemplateDir, getTemplateEngine, getTemplateVersion, getterAndSetterCapitalize, getTypeDeclaration, hasSchemaProperties, hasTrueAdditionalProperties, importMapping, initialCaps, instantiationTypes, isDataTypeBinary, isDataTypeFile, isFileTypeSchema, isObjectSchema, isPrimivite, isPropertyInnerMostEnum, isRemoveOperationIdPrefix, isSkipOverwrite, languageSpecificPrimitives, modelDocFileFolder, modelDocTemplateFiles, modelPackage, modelTemplateFiles, modelTestTemplateFiles, needsUnflattenedSpec, needToImport, outputFolder, postProcessAllCodegenModels, postProcessModelsEnum, postProcessOperationsWithModels, postProcessParameter, postProcessSupportingFileData, processCompiler, processMapSchema, processModelEnums, processOpenAPI, 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, toApiFilename, toApiImport, toApiName, toApiVarName, toBooleanGetter, toDefaultValueWithParam, toEnumDefaultValue, toExamples, toGetter, toModelDocFilename, toModelImport, toRegularExpression, toSetter, typeMapping, underscore, updateCodegenModelEnumVars, 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
-
optionalAssemblyInfoFlag
protected boolean optionalAssemblyInfoFlag -
optionalProjectFileFlag
protected boolean optionalProjectFileFlag -
optionalEmitDefaultValue
protected boolean optionalEmitDefaultValue -
optionalMethodArgumentFlag
protected boolean optionalMethodArgumentFlag -
useDateTimeOffsetFlag
protected boolean useDateTimeOffsetFlag -
useCollection
protected boolean useCollection -
returnICollection
protected boolean returnICollection -
preserveNewLines
protected boolean preserveNewLines -
netCoreProjectFileFlag
protected boolean netCoreProjectFileFlag -
modelPropertyNaming
-
packageVersion
-
packageName
-
packageTitle
-
packageProductName
-
packageDescription
-
packageCompany
-
packageCopyright
-
packageAuthors
-
interfacePrefix
-
sourceFolder
-
testFolder
-
collectionTypes
-
mapTypes
-
LOGGER
protected org.slf4j.Logger LOGGER
-
-
Constructor Details
-
AbstractCSharpCodegen
public AbstractCSharpCodegen()
-
-
Method Details
-
setReturnICollection
public void setReturnICollection(boolean returnICollection) -
setOptionalEmitDefaultValue
public void setOptionalEmitDefaultValue(boolean optionalEmitDefaultValue) -
setUseCollection
public void setUseCollection(boolean useCollection) -
setOptionalMethodArgumentFlag
public void setOptionalMethodArgumentFlag(boolean flag) -
setNetCoreProjectFileFlag
public void setNetCoreProjectFileFlag(boolean flag) -
useDateTimeOffset
public void useDateTimeOffset(boolean flag) -
processOpts
public void processOpts()- Specified by:
processOptsin interfaceio.swagger.codegen.v3.CodegenConfig- Overrides:
processOptsin classDefaultCodegenConfig
-
postProcessModelProperty
public void postProcessModelProperty(io.swagger.codegen.v3.CodegenModel model, io.swagger.codegen.v3.CodegenProperty property) - Specified by:
postProcessModelPropertyin interfaceio.swagger.codegen.v3.CodegenConfig- Overrides:
postProcessModelPropertyin classDefaultCodegenConfig
-
postProcessModels
- Specified by:
postProcessModelsin interfaceio.swagger.codegen.v3.CodegenConfig- Overrides:
postProcessModelsin classDefaultCodegenConfig
-
postProcessAllModels
Invoked by {DefaultGenerator} after all models have been post-processed, allowing for a last pass of codegen-specific model cleanup.- Specified by:
postProcessAllModelsin interfaceio.swagger.codegen.v3.CodegenConfig- Overrides:
postProcessAllModelsin classDefaultCodegenConfig- Parameters:
objs- Current state of codegen object model.- Returns:
- An in-place modified state of the codegen object model.
-
updateCodegenPropertyEnum
public void updateCodegenPropertyEnum(io.swagger.codegen.v3.CodegenProperty var) Update codegen property's enum by adding "enumVars" (with name and value)- Overrides:
updateCodegenPropertyEnumin classDefaultCodegenConfig- Parameters:
var- list of CodegenProperty
-
postProcessOperations
- Specified by:
postProcessOperationsin interfaceio.swagger.codegen.v3.CodegenConfig- Overrides:
postProcessOperationsin classDefaultCodegenConfig
-
processOperation
protected void processOperation(io.swagger.codegen.v3.CodegenOperation operation) -
apiFileFolder
- Specified by:
apiFileFolderin interfaceio.swagger.codegen.v3.CodegenConfig- Overrides:
apiFileFolderin classDefaultCodegenConfig
-
modelFileFolder
- Specified by:
modelFileFolderin interfaceio.swagger.codegen.v3.CodegenConfig- Overrides:
modelFileFolderin classDefaultCodegenConfig
-
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
-
toOperationId
Description copied from class:DefaultCodegenConfigReturn the operation ID (method name)- Overrides:
toOperationIdin classDefaultCodegenConfig- Parameters:
operationId- operation ID- Returns:
- the sanitized method name
-
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
-
escapeReservedWord
Description copied from class:DefaultCodegenConfigReturn the escaped name of the reserved word- Specified by:
escapeReservedWordin interfaceio.swagger.codegen.v3.CodegenConfig- Overrides:
escapeReservedWordin classDefaultCodegenConfig- Parameters:
name- the name to be escaped- Returns:
- the escaped reserved word throws Runtime exception as reserved word is not allowed (default behavior)
-
toExampleValue
Return the example value of the property- Overrides:
toExampleValuein classDefaultCodegenConfig- Parameters:
schema- Open API Schema object- Returns:
- string presentation of the example value of the property
-
toDefaultValue
Return the default value of the property- Overrides:
toDefaultValuein classDefaultCodegenConfig- Parameters:
schema- Schema object- Returns:
- string presentation of the default value of the property
-
isReservedWord
- Overrides:
isReservedWordin classDefaultCodegenConfig
-
getSchemaType
Description copied from class:DefaultCodegenConfigreturns the swagger type for the property- Overrides:
getSchemaTypein classDefaultCodegenConfig- Parameters:
propertySchema- Schema property object- Returns:
- string presentation of the type
-
getRefSchemaTargetType
-
toInstantiationType
Description copied from class:DefaultCodegenConfigReturn the instantiation type of the property, especially for map and array- Overrides:
toInstantiationTypein classDefaultCodegenConfig- Parameters:
schema- Swagger property object- Returns:
- string presentation of the instantiation type of the property
-
getTypeDeclaration
Description copied from class:DefaultCodegenConfigOutput the type declaration of the property- Specified by:
getTypeDeclarationin interfaceio.swagger.codegen.v3.CodegenConfig- Overrides:
getTypeDeclarationin classDefaultCodegenConfig- Parameters:
propertySchema- Schema Property object- Returns:
- a string presentation of the property type
-
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
-
apiTestFileFolder
- Specified by:
apiTestFileFolderin interfaceio.swagger.codegen.v3.CodegenConfig- Overrides:
apiTestFileFolderin classDefaultCodegenConfig
-
modelTestFileFolder
- Specified by:
modelTestFileFolderin interfaceio.swagger.codegen.v3.CodegenConfig- Overrides:
modelTestFileFolderin classDefaultCodegenConfig
-
toApiTestFilename
Description copied from class:DefaultCodegenConfigReturn the file name of the Api Test- Specified by:
toApiTestFilenamein interfaceio.swagger.codegen.v3.CodegenConfig- Overrides:
toApiTestFilenamein classDefaultCodegenConfig- Parameters:
name- the file name of the Api- Returns:
- the file name of the Api
-
toModelTestFilename
Description copied from class:DefaultCodegenConfigReturn the capitalized file name of the model test- Specified by:
toModelTestFilenamein interfaceio.swagger.codegen.v3.CodegenConfig- Overrides:
toModelTestFilenamein classDefaultCodegenConfig- Parameters:
name- the model name- Returns:
- the file name of the model
-
setPackageName
-
setPackageVersion
-
setPackageTitle
-
setPackageProductName
-
setPackageDescription
-
setPackageCompany
-
setPackageCopyright
-
setPackageAuthors
-
setSourceFolder
-
getInterfacePrefix
-
setInterfacePrefix
-
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
-
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
-
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
-
testPackageName
-
isPreserveNewLines
public boolean isPreserveNewLines() -
setPreserveNewLines
public void setPreserveNewLines(boolean preserveNewLines) -
preprocessOpenAPI
public void preprocessOpenAPI(io.swagger.v3.oas.models.OpenAPI openAPI) - Specified by:
preprocessOpenAPIin interfaceio.swagger.codegen.v3.CodegenConfig- Overrides:
preprocessOpenAPIin classDefaultCodegenConfig
-
getDefaultTemplateDir
- Specified by:
getDefaultTemplateDirin classDefaultCodegenConfig
-
preserveNewlines
-
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
-
addHandlebarHelpers
public void addHandlebarHelpers(com.github.jknack.handlebars.Handlebars handlebars) - Specified by:
addHandlebarHelpersin interfaceio.swagger.codegen.v3.CodegenConfig- Overrides:
addHandlebarHelpersin classDefaultCodegenConfig
-
addCodegenContentParameters
protected void addCodegenContentParameters(io.swagger.codegen.v3.CodegenOperation codegenOperation, List<io.swagger.codegen.v3.CodegenContent> codegenContents) - Overrides:
addCodegenContentParametersin classDefaultCodegenConfig
-
checkAliasModel
public boolean checkAliasModel()
-