public abstract class AbstractCSharpCodegen extends DefaultCodegen implements CodegenConfig
| 限定符和类型 | 字段和说明 |
|---|---|
protected Set<String> |
collectionTypes |
protected String |
interfacePrefix |
protected Set<String> |
mapTypes |
protected String |
modelPropertyNaming |
protected boolean |
netCoreProjectFileFlag |
protected boolean |
optionalAssemblyInfoFlag |
protected boolean |
optionalEmitDefaultValue |
protected boolean |
optionalMethodArgumentFlag |
protected boolean |
optionalProjectFileFlag |
protected String |
packageAuthors |
protected String |
packageCompany |
protected String |
packageCopyright |
protected String |
packageDescription |
protected String |
packageName |
protected String |
packageProductName |
protected String |
packageTitle |
protected String |
packageVersion |
protected boolean |
returnICollection |
protected String |
sourceFolder |
protected String |
testFolder |
protected boolean |
useCollection |
protected boolean |
useDateTimeOffsetFlag |
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| 构造器和说明 |
|---|
AbstractCSharpCodegen() |
| 限定符和类型 | 方法和说明 |
|---|---|
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 |
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. double in C# needs to be double-quoted (e.g. "2.8") by treating it as a string
In the future, we may rename this function to "isEnumString"
|
protected boolean |
isReservedWord(String word) |
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. using go-fmt to format the Go code.
|
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 |
setInterfacePrefix(String interfacePrefix) |
void |
setNetCoreProjectFileFlag(boolean flag) |
void |
setOptionalEmitDefaultValue(boolean optionalEmitDefaultValue) |
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 |
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. status becomes "status"
|
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)
|
void |
useDateTimeOffset(boolean flag) |
addAdditionPropertiesToCodeGenModel, addImport, additionalProperties, addOperationToGroup, addOption, addProperties, addRegularExpressionDelimiter, addSwitch, apiDocFileFolder, apiDocFilename, apiDocTemplateFiles, apiFilename, apiPackage, apiTemplateFiles, 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, getHelp, getHttpUserAgent, getIgnoreFilePathOverride, getInnerEnumAllowableValues, getInputSpec, getLibrary, getMostInnerItems, getName, getOrGenerateOperationId, getOutputDir, getParameterDataType, getParameterFromRef, getParentName, getProducesInfo, getReleaseNote, getSymbolName, getTag, getterAndSetterCapitalize, getTypeDeclaration, hasBodyParameter, hasFormParameter, importMapping, initalizeSpecialCharacterMapping, initialCaps, instantiationTypes, isDataTypeBinary, isDataTypeFile, isEnablePostProcessFile, isHideGenerationTimestamp, isParameterNameUnique, isPropertyInnerMostEnum, isRemoveOperationIdPrefix, isSkipOverwrite, languageSpecificPrimitives, modelDocFileFolder, modelDocTemplateFiles, modelPackage, modelTemplateFiles, modelTestTemplateFiles, needToImport, outputFolder, postProcessModelsEnum, postProcessOperations, 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, setPrependFormOrBodyParameters, setReleaseNote, setRemoveOperationIdPrefix, setReservedWordsLowerCase, setSkipOverwrite, setSortParamsByRequiredFlag, setTemplateDir, shouldOverwrite, snakeCase, supportedLibraries, supportingFiles, templateDir, testPackage, toApiDocFilename, toApiFilename, toApiImport, toApiName, toApiVarName, toArrayModelParamName, toBooleanGetter, toDefaultValueWithParam, toEnumDefaultValue, toExamples, toGetter, toGetter, toModelDocFilename, toModelImport, toRegularExpression, toSetter, toSetter, typeMapping, underscore, updateDataTypeWithEnumForArray, updateDataTypeWithEnumForMap, 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, escapeText, escapeTextWhileAllowingNewLines, fileSuffix, fromModel, fromOperation, fromOperation, fromSecurity, fromServers, fromServerVariables, generateExamplePath, getCommonTemplateDir, getDocExtension, getGitRepoId, getGitUserId, getHelp, getHttpUserAgent, getIgnoreFilePathOverride, getInputSpec, getLibrary, getName, getOutputDir, getReleaseNote, getTag, getTypeDeclaration, importMapping, instantiationTypes, isEnablePostProcessFile, isHideGenerationTimestamp, isRemoveOperationIdPrefix, isSkipOverwrite, languageSpecificPrimitives, modelDocFileFolder, modelDocTemplateFiles, modelPackage, modelTemplateFiles, modelTestTemplateFiles, outputFolder, postProcessOperations, 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, toApiVarName, toBooleanGetter, toGetter, toModelDocFilename, toModelImport, toSetter, typeMapping, vendorExtensionsprotected boolean optionalAssemblyInfoFlag
protected boolean optionalProjectFileFlag
protected boolean optionalEmitDefaultValue
protected boolean optionalMethodArgumentFlag
protected boolean useDateTimeOffsetFlag
protected boolean useCollection
protected boolean returnICollection
protected boolean netCoreProjectFileFlag
protected String modelPropertyNaming
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 sourceFolder
protected String testFolder
public void setReturnICollection(boolean returnICollection)
public void setOptionalEmitDefaultValue(boolean optionalEmitDefaultValue)
public void setUseCollection(boolean useCollection)
public void setOptionalMethodArgumentFlag(boolean flag)
public void setNetCoreProjectFileFlag(boolean flag)
public void useDateTimeOffset(boolean flag)
public void processOpts()
processOpts 在接口中 CodegenConfigprocessOpts 在类中 DefaultCodegenpublic void postProcessModelProperty(CodegenModel model, CodegenProperty property)
postProcessModelProperty 在接口中 CodegenConfigpostProcessModelProperty 在类中 DefaultCodegenpublic Map<String,Object> postProcessModels(Map<String,Object> objs)
postProcessModels 在接口中 CodegenConfigpostProcessModels 在类中 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 在接口中 CodegenConfigpostProcessAllModels 在类中 DefaultCodegenobjs - Current state of codegen object model.public void updateCodegenPropertyEnum(CodegenProperty var)
updateCodegenPropertyEnum 在类中 DefaultCodegenvar - list of CodegenPropertypublic Map<String,Object> postProcessOperationsWithModels(Map<String,Object> objs, List<Object> allModels)
protected void processOperation(CodegenOperation operation)
public String apiFileFolder()
apiFileFolder 在接口中 CodegenConfigapiFileFolder 在类中 DefaultCodegenpublic String modelFileFolder()
modelFileFolder 在接口中 CodegenConfigmodelFileFolder 在类中 DefaultCodegenpublic String toModelFilename(String name)
DefaultCodegentoModelFilename 在接口中 CodegenConfigtoModelFilename 在类中 DefaultCodegenname - the model namepublic String toOperationId(String operationId)
DefaultCodegentoOperationId 在类中 DefaultCodegenoperationId - operation IDpublic String toVarName(String name)
DefaultCodegentoVarName 在类中 DefaultCodegenname - the variable namepublic String toParamName(String name)
DefaultCodegentoParamName 在接口中 CodegenConfigtoParamName 在类中 DefaultCodegenname - Codegen property objectpublic String escapeReservedWord(String name)
DefaultCodegenescapeReservedWord 在接口中 CodegenConfigescapeReservedWord 在类中 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 在类中 DefaultCodegenp - OpenAPI property objectpublic String toDefaultValue(io.swagger.v3.oas.models.media.Schema p)
toDefaultValue 在类中 DefaultCodegenp - OpenAPI property objectprotected boolean isReservedWord(String word)
isReservedWord 在类中 DefaultCodegenpublic String getSchemaType(io.swagger.v3.oas.models.media.Schema p)
DefaultCodegengetSchemaType 在类中 DefaultCodegenp - property schemapublic String toInstantiationType(io.swagger.v3.oas.models.media.Schema p)
DefaultCodegentoInstantiationType 在类中 DefaultCodegenp - property schemapublic String getTypeDeclaration(io.swagger.v3.oas.models.media.Schema p)
DefaultCodegengetTypeDeclaration 在接口中 CodegenConfiggetTypeDeclaration 在类中 DefaultCodegenp - property schemapublic String toModelName(String name)
DefaultCodegentoModelName 在接口中 CodegenConfigtoModelName 在类中 DefaultCodegenname - the name of the modelpublic String apiTestFileFolder()
apiTestFileFolder 在接口中 CodegenConfigapiTestFileFolder 在类中 DefaultCodegenpublic String modelTestFileFolder()
modelTestFileFolder 在接口中 CodegenConfigmodelTestFileFolder 在类中 DefaultCodegenpublic String toApiTestFilename(String name)
DefaultCodegentoApiTestFilename 在接口中 CodegenConfigtoApiTestFilename 在类中 DefaultCodegenname - the file name of the Apipublic String toModelTestFilename(String name)
DefaultCodegentoModelTestFilename 在接口中 CodegenConfigtoModelTestFilename 在类中 DefaultCodegenname - the model namepublic 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 String toEnumValue(String value, String datatype)
DefaultCodegentoEnumValue 在类中 DefaultCodegenvalue - enum variable namedatatype - data typepublic String toEnumVarName(String name, String datatype)
DefaultCodegentoEnumVarName 在类中 DefaultCodegenname - enum variable namedatatype - data typepublic String toEnumName(CodegenProperty property)
DefaultCodegentoEnumName 在类中 DefaultCodegenproperty - Codegen propertypublic String testPackageName()
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 boolean isDataTypeString(String dataType)
DefaultCodegenisDataTypeString 在类中 DefaultCodegendataType - data typepublic void setParameterExampleValue(CodegenParameter codegenParameter)
DefaultCodegensetParameterExampleValue 在类中 DefaultCodegencodegenParameter - Codegen parameterpublic void postProcessFile(File file, String fileType)
DefaultCodegenTODO: store these values in enum instead
postProcessFile 在接口中 CodegenConfigpostProcessFile 在类中 DefaultCodegenfile - file to be processedfileType - file typeCopyright © 2019. All rights reserved.