public abstract class AbstractCSharpCodegen extends DefaultCodegen implements CodegenConfig
Modifier and Type | Field and Description |
---|---|
protected Set<String> |
collectionTypes |
protected String |
interfacePrefix |
protected org.slf4j.Logger |
LOGGER |
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 |
preserveNewLines |
protected boolean |
returnICollection |
protected String |
sourceFolder |
protected String |
testFolder |
protected boolean |
useCollection |
protected boolean |
useDateTimeOffsetFlag |
additionalProperties, allowUnicodeIdentifiers, apiDocTemplateFiles, apiPackage, apiTemplateFiles, apiTestTemplateFiles, cliOptions, commonTemplateDir, defaultIncludes, embeddedTemplateDir, ensureUniqueParams, fileSuffix, gitRepoId, gitUserId, hideGenerationTimestamp, httpUserAgent, ignoreFilePathOverride, importMapping, inputSpec, instantiationTypes, languageSpecificPrimitives, library, modelDocTemplateFiles, modelNamePrefix, modelNameSuffix, modelPackage, modelTemplateFiles, modelTestTemplateFiles, outputFolder, releaseNote, removeOperationIdPrefix, reservedWords, reservedWordsMappings, skipOverwrite, sortParamsByRequiredFlag, specialCharReplacements, supportedLibraries, supportingFiles, supportsInheritance, supportsMixins, templateDir, testPackage, typeAliases, typeMapping, vendorExtensions
Constructor and Description |
---|
AbstractCSharpCodegen() |
Modifier and Type | Method and Description |
---|---|
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 |
getSwaggerType(io.swagger.models.properties.Property p)
returns the swagger type for the property
|
String |
getTypeDeclaration(io.swagger.models.properties.Property p)
Output the type declaration of the property
|
boolean |
isPreserveNewLines() |
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 |
postProcessModelProperty(CodegenModel model,
CodegenProperty property) |
Map<String,Object> |
postProcessModels(Map<String,Object> objs) |
Map<String,Object> |
postProcessOperations(Map<String,Object> objs) |
void |
preprocessSwagger(io.swagger.models.Swagger swagger) |
String |
preserveNewlines(String input,
int tabstops) |
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 |
setPreserveNewLines(boolean preserveNewLines) |
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.models.properties.Property 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.models.properties.Property p)
Return the example value of the property
|
String |
toInstantiationType(io.swagger.models.properties.Property 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, addOption, addProperties, addRegularExpressionDelimiter, addSwitch, apiDocFileFolder, apiDocFilename, apiDocTemplateFiles, apiFilename, apiPackage, apiTemplateFiles, apiTestFilename, apiTestTemplateFiles, buildLibraryCliOption, camelize, camelize, cliOptions, configureDataForTestTemplate, convertPropertyToBoolean, convertPropertyToBooleanAndWriteBack, dashize, defaultIncludes, embeddedTemplateDir, escapeText, fileSuffix, findCommonPrefixOfVars, findMethodResponse, fromModel, fromModel, fromOperation, fromOperation, fromParameter, fromProperty, fromResponse, fromSecurity, generateExamplePath, getAlias, getCommonTemplateDir, getExamples, getGitRepoId, getGitUserId, getHttpUserAgent, getIgnoreFilePathOverride, getInnerEnumAllowableValues, getInputSpec, getLibrary, getOrGenerateOperationId, getOutputDir, getParameterDataType, getReleaseNote, getSymbolName, getterAndSetterCapitalize, getTypeDeclaration, importMapping, initalizeSpecialCharacterMapping, initialCaps, instantiationTypes, isDataTypeBinary, isDataTypeFile, isHideGenerationTimestamp, isPropertyInnerMostEnum, isRemoveOperationIdPrefix, isSkipOverwrite, languageSpecificPrimitives, modelDocFileFolder, modelDocTemplateFiles, modelPackage, modelTemplateFiles, modelTestTemplateFiles, needToImport, outputFolder, postProcessModelsEnum, postProcessOperationsWithModels, postProcessParameter, postProcessSupportingFileData, processCompiler, processSwagger, removeNonNameElementToCamelCase, removeNonNameElementToCamelCase, reservedWords, reservedWordsMappings, sanitizeName, sanitizeTag, setAllowUnicodeIdentifiers, setApiPackage, setCommonTemplateDir, setEnsureUniqueParams, setGitRepoId, setGitUserId, setHideGenerationTimestamp, setHttpUserAgent, setIgnoreFilePathOverride, setInputSpec, setLibrary, setModelNamePrefix, setModelNameSuffix, setModelPackage, setNonArrayMapProperty, setOutputDir, setParameterBooleanFlagWithCodegenProperty, setParameterExampleValue, setReleaseNote, setRemoveOperationIdPrefix, setReservedWordsLowerCase, setSkipOverwrite, setSortParamsByRequiredFlag, setTemplateDir, shouldOverwrite, snakeCase, supportedLibraries, supportingFiles, templateDir, testPackage, toApiDocFilename, toApiFilename, toApiImport, toApiName, toApiVarName, toBooleanGetter, toDefaultValueWithParam, toEnumDefaultValue, toExamples, toGetter, toModelDocFilename, toModelImport, toRegularExpression, toSetter, typeMapping, underscore, updateDataTypeWithEnumForArray, updateDataTypeWithEnumForMap, updatePropertyForArray, updatePropertyForMap, vendorExtensions, writeOptional, writePropertyBack
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
additionalProperties, addOperationToGroup, apiDocFileFolder, apiDocFilename, apiDocTemplateFiles, apiFilename, apiPackage, apiTemplateFiles, apiTestFilename, apiTestTemplateFiles, cliOptions, defaultIncludes, embeddedTemplateDir, escapeText, fileSuffix, fromModel, fromModel, fromOperation, fromOperation, fromSecurity, generateExamplePath, getCommonTemplateDir, getGitRepoId, getGitUserId, getHelp, getHttpUserAgent, getIgnoreFilePathOverride, getInputSpec, getLibrary, getName, getOutputDir, getReleaseNote, getTag, getTypeDeclaration, importMapping, instantiationTypes, isHideGenerationTimestamp, isRemoveOperationIdPrefix, isSkipOverwrite, languageSpecificPrimitives, modelDocFileFolder, modelDocTemplateFiles, modelPackage, modelTemplateFiles, modelTestTemplateFiles, outputFolder, postProcessOperationsWithModels, postProcessParameter, postProcessSupportingFileData, processCompiler, processSwagger, reservedWords, reservedWordsMappings, sanitizeName, sanitizeTag, setGitRepoId, setGitUserId, 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, vendorExtensions
protected boolean optionalAssemblyInfoFlag
protected boolean optionalProjectFileFlag
protected boolean optionalEmitDefaultValue
protected boolean optionalMethodArgumentFlag
protected boolean useDateTimeOffsetFlag
protected boolean useCollection
protected boolean returnICollection
protected boolean preserveNewLines
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
protected org.slf4j.Logger LOGGER
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
in interface CodegenConfig
processOpts
in class DefaultCodegen
public void postProcessModelProperty(CodegenModel model, CodegenProperty property)
postProcessModelProperty
in interface CodegenConfig
postProcessModelProperty
in class DefaultCodegen
public Map<String,Object> postProcessModels(Map<String,Object> objs)
postProcessModels
in interface CodegenConfig
postProcessModels
in class DefaultCodegen
public 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 CodegenConfig
postProcessAllModels
in class DefaultCodegen
objs
- Current state of codegen object model.public void updateCodegenPropertyEnum(CodegenProperty var)
updateCodegenPropertyEnum
in class DefaultCodegen
var
- list of CodegenPropertypublic Map<String,Object> postProcessOperations(Map<String,Object> objs)
postProcessOperations
in interface CodegenConfig
postProcessOperations
in class DefaultCodegen
protected void processOperation(CodegenOperation operation)
public String apiFileFolder()
apiFileFolder
in interface CodegenConfig
apiFileFolder
in class DefaultCodegen
public String modelFileFolder()
modelFileFolder
in interface CodegenConfig
modelFileFolder
in class DefaultCodegen
public String toModelFilename(String name)
DefaultCodegen
toModelFilename
in interface CodegenConfig
toModelFilename
in class DefaultCodegen
name
- the model namepublic String toOperationId(String operationId)
DefaultCodegen
toOperationId
in class DefaultCodegen
operationId
- operation IDpublic String toVarName(String name)
DefaultCodegen
toVarName
in class DefaultCodegen
name
- the variable namepublic String toParamName(String name)
DefaultCodegen
toParamName
in interface CodegenConfig
toParamName
in class DefaultCodegen
name
- Codegen property objectpublic String escapeReservedWord(String name)
DefaultCodegen
escapeReservedWord
in interface CodegenConfig
escapeReservedWord
in class DefaultCodegen
name
- the name to be escapedpublic String toExampleValue(io.swagger.models.properties.Property p)
toExampleValue
in class DefaultCodegen
p
- Swagger property objectpublic String toDefaultValue(io.swagger.models.properties.Property p)
toDefaultValue
in class DefaultCodegen
p
- Swagger property objectprotected boolean isReservedWord(String word)
isReservedWord
in class DefaultCodegen
public String getSwaggerType(io.swagger.models.properties.Property p)
DefaultCodegen
getSwaggerType
in class DefaultCodegen
p
- Swagger property objectpublic String toInstantiationType(io.swagger.models.properties.Property p)
DefaultCodegen
toInstantiationType
in class DefaultCodegen
p
- Swagger property objectpublic String getTypeDeclaration(io.swagger.models.properties.Property p)
DefaultCodegen
getTypeDeclaration
in interface CodegenConfig
getTypeDeclaration
in class DefaultCodegen
p
- Swagger Property objectpublic String toModelName(String name)
DefaultCodegen
toModelName
in interface CodegenConfig
toModelName
in class DefaultCodegen
name
- the name of the modelpublic String apiTestFileFolder()
apiTestFileFolder
in interface CodegenConfig
apiTestFileFolder
in class DefaultCodegen
public String modelTestFileFolder()
modelTestFileFolder
in interface CodegenConfig
modelTestFileFolder
in class DefaultCodegen
public String toApiTestFilename(String name)
DefaultCodegen
toApiTestFilename
in interface CodegenConfig
toApiTestFilename
in class DefaultCodegen
name
- the file name of the Apipublic String toModelTestFilename(String name)
DefaultCodegen
toModelTestFilename
in interface CodegenConfig
toModelTestFilename
in class DefaultCodegen
name
- 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)
DefaultCodegen
toEnumValue
in class DefaultCodegen
value
- enum variable namedatatype
- data typepublic String toEnumVarName(String name, String datatype)
DefaultCodegen
toEnumVarName
in class DefaultCodegen
name
- enum variable namedatatype
- data typepublic String toEnumName(CodegenProperty property)
DefaultCodegen
toEnumName
in class DefaultCodegen
property
- Codegen propertypublic String testPackageName()
public boolean isPreserveNewLines()
public void setPreserveNewLines(boolean preserveNewLines)
public void preprocessSwagger(io.swagger.models.Swagger swagger)
preprocessSwagger
in interface CodegenConfig
preprocessSwagger
in class DefaultCodegen
public String escapeQuotationMark(String input)
DefaultCodegen
escapeQuotationMark
in interface CodegenConfig
escapeQuotationMark
in class DefaultCodegen
input
- String to be cleaned uppublic String escapeUnsafeCharacters(String input)
DefaultCodegen
escapeUnsafeCharacters
in interface CodegenConfig
escapeUnsafeCharacters
in class DefaultCodegen
input
- String to be cleaned upCopyright © 2019. All rights reserved.