public abstract class AbstractCSharpCodegen extends DefaultCodegen implements CodegenConfig
additionalProperties, allowUnicodeIdentifiers, apiDocTemplateFiles, apiNameSuffix, apiPackage, apiTemplateFiles, apiTestTemplateFiles, cliOptions, commonTemplateDir, DefaultFeatureSet, defaultIncludes, docExtension, embeddedTemplateDir, enableMinimalUpdate, enablePostProcessFile, ensureUniqueParams, featureSet, fileSuffix, generatorMetadata, gitHost, gitRepoId, gitUserId, hideGenerationTimestamp, httpUserAgent, ignoreFilePathOverride, importMapping, inputSpec, instantiationTypes, languageSpecificPrimitives, library, modelDocTemplateFiles, modelNamePrefix, modelNameSuffix, modelPackage, modelTemplateFiles, modelTestTemplateFiles, openAPI, outputFolder, prependFormOrBodyParameters, releaseNote, removeOperationIdPrefix, reservedWords, reservedWordsMappings, serverVariables, skipOverwrite, sortModelPropertiesByRequiredFlag, sortParamsByRequiredFlag, specialCharReplacements, strictSpecBehavior, supportedLibraries, supportingFiles, supportsInheritance, supportsMixins, supportsMultipleInheritance, templateDir, testPackage, typeAliases, typeMapping, vendorExtensions| Constructor and Description |
|---|
AbstractCSharpCodegen() |
| Modifier and Type | Method and Description |
|---|---|
protected com.google.common.collect.ImmutableMap.Builder<String,com.samskivert.mustache.Mustache.Lambda> |
addMustacheLambdas()
Preset map builder with commonly used Mustache lambdas.
|
String |
apiFileFolder() |
String |
apiTestFileFolder() |
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 |
getInterfacePrefix() |
String |
getNullableType(io.swagger.v3.oas.models.media.Schema p,
String type) |
String |
getSchemaType(io.swagger.v3.oas.models.media.Schema p)
returns the OpenAPI type for the property.
|
String |
getTypeDeclaration(io.swagger.v3.oas.models.media.Schema p)
Output the type declaration of the property
|
boolean |
isDataTypeString(String dataType)
checks if the data should be classified as "string" in enum
e.g.
|
protected boolean |
isReservedWord(String word) |
boolean |
isSupportNullable() |
protected boolean |
isValueType(CodegenProperty var)
Return true if the property being passed is a C# value type
|
String |
modelFileFolder() |
String |
modelTestFileFolder() |
Map<String,Object> |
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. |
void |
postProcessFile(File file,
String fileType)
Post-process the auto-generated file, e.g.
|
void |
postProcessModelProperty(CodegenModel model,
CodegenProperty property) |
Map<String,Object> |
postProcessModels(Map<String,Object> objs) |
Map<String,Object> |
postProcessOperationsWithModels(Map<String,Object> objs,
List<Object> allModels) |
protected void |
processOperation(CodegenOperation operation) |
void |
processOpts() |
void |
setEnumNameSuffix(String enumNameSuffix) |
void |
setEnumValueSuffix(String enumValueSuffix) |
void |
setInterfacePrefix(String interfacePrefix) |
void |
setLicenseName(String licenseName) |
void |
setLicenseUrl(String licenseUrl) |
void |
setNetCoreProjectFileFlag(boolean flag) |
void |
setOptionalMethodArgumentFlag(boolean flag) |
void |
setPackageAuthors(String packageAuthors) |
void |
setPackageCompany(String packageCompany) |
void |
setPackageCopyright(String packageCopyright) |
void |
setPackageDescription(String packageDescription) |
void |
setPackageName(String packageName) |
void |
setPackageProductName(String packageProductName) |
void |
setPackageTitle(String packageTitle) |
void |
setPackageVersion(String packageVersion) |
void |
setParameterExampleValue(CodegenParameter codegenParameter)
Return the example value of the parameter.
|
void |
setReturnICollection(boolean returnICollection) |
void |
setSourceFolder(String sourceFolder) |
void |
setSupportNullable(boolean supportNullable) |
void |
setUseCollection(boolean useCollection) |
String |
testPackageName() |
String |
toApiTestFilename(String name)
Return the file name of the Api Test
|
String |
toDefaultValue(io.swagger.v3.oas.models.media.Schema p)
Return the default value of the property
|
String |
toEnumName(CodegenProperty property)
Return the Enum name (e.g.
|
String |
toEnumValue(String value,
String datatype)
Return the enum value in the language specified format
e.g.
|
String |
toEnumVarName(String name,
String datatype)
Return the sanitized variable name for enum
|
String |
toExampleValue(io.swagger.v3.oas.models.media.Schema p)
Return the example value of the property
|
String |
toInstantiationType(io.swagger.v3.oas.models.media.Schema p)
Return the instantiation type of the property, especially for map and array
|
String |
toModelFilename(String name)
Return the capitalized file name of the model
|
String |
toModelName(String name)
Output the proper model name (capitalized).
|
String |
toModelTestFilename(String name)
Return the capitalized file name of the model test
|
String |
toOperationId(String operationId)
Return the operation ID (method name)
|
String |
toParamName(String name)
Return the parameter name by removing invalid characters and proper escaping if
it's a reserved word.
|
String |
toVarName(String name)
Return the variable name by removing invalid characters and proper escaping if
it's a reserved word.
|
void |
updateCodegenPropertyEnum(CodegenProperty var)
Update codegen property's enum by adding "enumVars" (with name and value)
|
protected void |
updateValueTypeProperty(Map<String,Object> models)
Update property if it is a C# value type
|
void |
useDateTimeOffset(boolean flag) |
addAdditionPropertiesToCodeGenModel, addHeaders, addImport, additionalProperties, addOperationToGroup, addOption, addParentContainer, addProperties, addRegularExpressionDelimiter, addSwitch, apiDocFileFolder, apiDocFilename, apiDocTemplateFiles, apiFilename, apiPackage, apiTemplateFiles, apiTestFilename, apiTestTemplateFiles, buildLibraryCliOption, cliOptions, convertPropertyToBoolean, convertPropertyToBooleanAndWriteBack, defaultIncludes, embeddedTemplateDir, encodePath, escapeText, escapeTextWhileAllowingNewLines, fileSuffix, findCommonPrefixOfVars, findMethodResponse, fromCallback, fromFormProperty, fromModel, fromOperation, fromParameter, fromProperty, fromRequestBody, fromRequestBodyToFormParameters, fromResponse, fromSecurity, fromServers, fromServerVariables, generateExamplePath, generateJSONSpecFile, generateYAMLSpecFile, getAlias, getAllModels, getAllowUnicodeIdentifiers, getApiNameSuffix, getCollectionFormat, getCommonTemplateDir, getConsumesInfo, getContentType, getDocExtension, getEnsureUniqueParams, getFeatureSet, getGeneratorMetadata, getGitHost, getGitRepoId, getGitUserId, getHelp, getHttpUserAgent, getIgnoreFilePathOverride, getInnerEnumAllowableValues, getInputSpec, getLibrary, getModelNamePrefix, getModelNameSuffix, getMostInnerItems, getName, getOrGenerateOperationId, getOutputDir, getParameterDataType, getPrependFormOrBodyParameters, getProducesInfo, getReleaseNote, getSchemaItems, getSortModelPropertiesByRequiredFlag, getSortParamsByRequiredFlag, getSymbolName, getTag, getTemplatingEngine, getterAndSetterCapitalize, getTypeDeclaration, handleMethodResponse, hasBodyParameter, hasFormParameter, importMapping, initalizeSpecialCharacterMapping, instantiationTypes, isDataTypeBinary, isDataTypeFile, isEnableMinimalUpdate, isEnablePostProcessFile, isHideGenerationTimestamp, isParameterNameUnique, isPropertyInnerMostEnum, isRemoveOperationIdPrefix, isSkipOverwrite, isStrictSpecBehavior, languageSpecificPrimitives, lowerCamelCase, modelDocFileFolder, modelDocTemplateFiles, modelPackage, modelTemplateFiles, modelTestTemplateFiles, needToImport, outputFolder, postProcessModelsEnum, postProcessParameter, postProcessSupportingFileData, preprocessOpenAPI, processCompiler, processOpenAPI, processTemplatingEngine, removeNonNameElementToCamelCase, removeNonNameElementToCamelCase, removeOption, reservedWords, reservedWordsMappings, sanitizeName, sanitizeName, sanitizeName, sanitizeTag, serverVariableOverrides, setAllowUnicodeIdentifiers, setApiNameSuffix, setApiPackage, setCircularReferences, setCommonTemplateDir, setDocExtension, setEnableMinimalUpdate, setEnablePostProcessFile, setEnsureUniqueParams, setFeatureSet, setGitHost, setGitRepoId, setGitUserId, setHideGenerationTimestamp, setHttpUserAgent, setIgnoreFilePathOverride, setInputSpec, setLibrary, setModelNamePrefix, setModelNameSuffix, setModelPackage, setNonArrayMapProperty, setOpenAPI, setOutputDir, setParameterBooleanFlagWithCodegenProperty, setParameterExampleValue, setParameterExampleValue, setPrependFormOrBodyParameters, setReleaseNote, setRemoveOperationIdPrefix, setReservedWordsLowerCase, setSkipOverwrite, setSortModelPropertiesByRequiredFlag, setSortParamsByRequiredFlag, setStrictSpecBehavior, setTemplateDir, setTemplatingEngine, shouldOverwrite, supportedLibraries, supportingFiles, templateDir, testPackage, toAllOfName, toAnyOfName, toApiDocFilename, toApiFilename, toApiImport, toApiName, toApiVarName, toArrayModelParamName, toBooleanGetter, toDefaultValueWithParam, toEnumDefaultValue, toExamples, toGetter, toModelDocFilename, toModelImport, toOneOfName, toRegularExpression, toSetter, typeMapping, updateAllModels, updateDataTypeWithEnumForArray, updateDataTypeWithEnumForMap, updateEnumVarsWithExtensions, updateOption, updatePropertyForArray, updatePropertyForMap, vendorExtensions, writeOptional, writePropertyBackclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitadditionalProperties, addOperationToGroup, apiDocFileFolder, apiDocFilename, apiDocTemplateFiles, apiFilename, apiPackage, apiTemplateFiles, apiTestFilename, apiTestTemplateFiles, cliOptions, defaultIncludes, embeddedTemplateDir, encodePath, escapeText, escapeTextWhileAllowingNewLines, fileSuffix, fromModel, fromOperation, fromSecurity, fromServers, fromServerVariables, generateExamplePath, getCommonTemplateDir, getDocExtension, getFeatureSet, getGeneratorMetadata, getGitHost, getGitRepoId, getGitUserId, getHelp, getHttpUserAgent, getIgnoreFilePathOverride, getInputSpec, getLibrary, getName, getOutputDir, getReleaseNote, getTag, getTemplatingEngine, getTypeDeclaration, importMapping, instantiationTypes, isEnableMinimalUpdate, isEnablePostProcessFile, isHideGenerationTimestamp, isRemoveOperationIdPrefix, isSkipOverwrite, isStrictSpecBehavior, languageSpecificPrimitives, modelDocFileFolder, modelDocTemplateFiles, modelPackage, modelTemplateFiles, modelTestTemplateFiles, outputFolder, postProcessParameter, postProcessSupportingFileData, preprocessOpenAPI, processCompiler, processOpenAPI, processTemplatingEngine, reservedWords, reservedWordsMappings, sanitizeName, sanitizeTag, serverVariableOverrides, setDocExtension, setEnableMinimalUpdate, setEnablePostProcessFile, setFeatureSet, setGitHost, setGitRepoId, setGitUserId, setHideGenerationTimestamp, setHttpUserAgent, setIgnoreFilePathOverride, setInputSpec, setLibrary, setOpenAPI, setOutputDir, setReleaseNote, setRemoveOperationIdPrefix, setSkipOverwrite, setStrictSpecBehavior, setTemplatingEngine, shouldOverwrite, supportedLibraries, supportingFiles, templateDir, testPackage, toApiDocFilename, toApiFilename, toApiImport, toApiName, toApiVarName, toBooleanGetter, toGetter, toModelDocFilename, toModelImport, toSetter, typeMapping, updateAllModels, vendorExtensionsprotected boolean optionalAssemblyInfoFlag
protected boolean optionalEmitDefaultValuesFlag
protected boolean optionalProjectFileFlag
protected boolean optionalMethodArgumentFlag
protected boolean useDateTimeOffsetFlag
protected boolean useCollection
protected boolean returnICollection
protected boolean netCoreProjectFileFlag
protected String modelPropertyNaming
protected String licenseUrl
protected String licenseName
protected String packageVersion
protected String packageName
protected String packageTitle
protected String packageProductName
protected String packageDescription
protected String packageCompany
protected String packageCopyright
protected String packageAuthors
protected String interfacePrefix
protected String enumNameSuffix
protected String enumValueSuffix
protected String sourceFolder
protected String testFolder
protected boolean supportNullable
public void setReturnICollection(boolean returnICollection)
public void setUseCollection(boolean useCollection)
public void setOptionalMethodArgumentFlag(boolean flag)
public void setNetCoreProjectFileFlag(boolean flag)
public void useDateTimeOffset(boolean flag)
public void processOpts()
processOpts in interface CodegenConfigprocessOpts in class DefaultCodegenprotected com.google.common.collect.ImmutableMap.Builder<String,com.samskivert.mustache.Mustache.Lambda> addMustacheLambdas()
DefaultCodegenaddMustacheLambdas in class DefaultCodegenpublic void postProcessModelProperty(CodegenModel model, CodegenProperty property)
postProcessModelProperty in interface CodegenConfigpostProcessModelProperty in class DefaultCodegenpublic Map<String,Object> postProcessModels(Map<String,Object> objs)
postProcessModels in interface CodegenConfigpostProcessModels in class DefaultCodegenpublic Map<String,Object> postProcessAllModels(Map<String,Object> objs)
DefaultGenerator after all models have been post-processed, allowing for a last pass of codegen-specific model cleanup.postProcessAllModels in interface CodegenConfigpostProcessAllModels in class DefaultCodegenobjs - Current state of codegen object model.public void updateCodegenPropertyEnum(CodegenProperty var)
updateCodegenPropertyEnum in class DefaultCodegenvar - list of CodegenPropertyprotected void updateValueTypeProperty(Map<String,Object> models)
models - list of all modelspublic Map<String,Object> postProcessOperationsWithModels(Map<String,Object> objs, List<Object> allModels)
postProcessOperationsWithModels in interface CodegenConfigpostProcessOperationsWithModels in class DefaultCodegenprotected void processOperation(CodegenOperation operation)
public String apiFileFolder()
apiFileFolder in interface CodegenConfigapiFileFolder in class DefaultCodegenpublic String modelFileFolder()
modelFileFolder in interface CodegenConfigmodelFileFolder in class DefaultCodegenpublic String toModelFilename(String name)
DefaultCodegentoModelFilename in interface CodegenConfigtoModelFilename in class DefaultCodegenname - the model namepublic String toOperationId(String operationId)
DefaultCodegentoOperationId in class DefaultCodegenoperationId - operation IDpublic String toVarName(String name)
DefaultCodegentoVarName in class DefaultCodegenname - the variable namepublic String toParamName(String name)
DefaultCodegentoParamName in interface CodegenConfigtoParamName in class DefaultCodegenname - Codegen property objectpublic String escapeReservedWord(String name)
DefaultCodegenescapeReservedWord in interface CodegenConfigescapeReservedWord in class DefaultCodegenname - the name to be escapedthrows Runtime exception as reserved word is not allowed (default behavior)
public String toExampleValue(io.swagger.v3.oas.models.media.Schema p)
toExampleValue in class DefaultCodegenp - OpenAPI property objectpublic String toDefaultValue(io.swagger.v3.oas.models.media.Schema p)
toDefaultValue in class DefaultCodegenp - OpenAPI property objectprotected boolean isReservedWord(String word)
isReservedWord in class DefaultCodegenpublic String getSchemaType(io.swagger.v3.oas.models.media.Schema p)
DefaultCodegengetSchemaType in class DefaultCodegenp - property schemapublic String toInstantiationType(io.swagger.v3.oas.models.media.Schema p)
DefaultCodegentoInstantiationType in class DefaultCodegenp - property schemapublic String getTypeDeclaration(io.swagger.v3.oas.models.media.Schema p)
DefaultCodegengetTypeDeclaration in interface CodegenConfiggetTypeDeclaration in class DefaultCodegenp - property schemapublic String toModelName(String name)
DefaultCodegentoModelName in interface CodegenConfigtoModelName in class DefaultCodegenname - the name of the modelpublic String apiTestFileFolder()
apiTestFileFolder in interface CodegenConfigapiTestFileFolder in class DefaultCodegenpublic String modelTestFileFolder()
modelTestFileFolder in interface CodegenConfigmodelTestFileFolder in class DefaultCodegenpublic String toApiTestFilename(String name)
DefaultCodegentoApiTestFilename in interface CodegenConfigtoApiTestFilename in class DefaultCodegenname - the file name of the Apipublic String toModelTestFilename(String name)
DefaultCodegentoModelTestFilename in interface CodegenConfigtoModelTestFilename in class DefaultCodegenname - the model namepublic void setLicenseUrl(String licenseUrl)
public void setLicenseName(String licenseName)
public void setPackageName(String packageName)
public void setPackageVersion(String packageVersion)
public void setPackageTitle(String packageTitle)
public void setPackageProductName(String packageProductName)
public void setPackageDescription(String packageDescription)
public void setPackageCompany(String packageCompany)
public void setPackageCopyright(String packageCopyright)
public void setPackageAuthors(String packageAuthors)
public void setSourceFolder(String sourceFolder)
public String getInterfacePrefix()
public void setInterfacePrefix(String interfacePrefix)
public void setEnumNameSuffix(String enumNameSuffix)
public void setEnumValueSuffix(String enumValueSuffix)
public boolean isSupportNullable()
public void setSupportNullable(boolean supportNullable)
public String toEnumValue(String value, String datatype)
DefaultCodegentoEnumValue in class DefaultCodegenvalue - enum variable namedatatype - data typepublic String toEnumVarName(String name, String datatype)
DefaultCodegentoEnumVarName in class DefaultCodegenname - enum variable namedatatype - data typepublic String toEnumName(CodegenProperty property)
DefaultCodegentoEnumName in class DefaultCodegenproperty - Codegen propertypublic String testPackageName()
public String escapeQuotationMark(String input)
DefaultCodegenescapeQuotationMark in interface CodegenConfigescapeQuotationMark in class DefaultCodegeninput - String to be cleaned uppublic String escapeUnsafeCharacters(String input)
DefaultCodegenescapeUnsafeCharacters in interface CodegenConfigescapeUnsafeCharacters in class DefaultCodegeninput - String to be cleaned uppublic boolean isDataTypeString(String dataType)
DefaultCodegenisDataTypeString in class DefaultCodegendataType - data typeprotected boolean isValueType(CodegenProperty var)
var - propertypublic void setParameterExampleValue(CodegenParameter codegenParameter)
DefaultCodegensetParameterExampleValue in class DefaultCodegencodegenParameter - Codegen parameterpublic void postProcessFile(File file, String fileType)
DefaultCodegenTODO: store these values in enum instead
postProcessFile in interface CodegenConfigpostProcessFile in class DefaultCodegenfile - file to be processedfileType - file typeCopyright © 2020. All rights reserved.