public abstract class AbstractCSharpCodegen extends DefaultCodegenConfig
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, copyFistAllOfProperties, DEFAULT_CONTENT_TYPE, DEFAULT_TEMPLATE_DIR, defaultIncludes, embeddedTemplateDir, ensureUniqueParams, fileSuffix, gitRepoId, gitUserId, hideGenerationTimestamp, httpUserAgent, ignoreFilePathOverride, importMapping, inputSpec, inputURL, instantiationTypes, languageArguments, languageSpecificPrimitives, library, modelDocTemplateFiles, modelNamePrefix, modelNameSuffix, modelPackage, modelTemplateFiles, modelTestTemplateFiles, openAPI, outputFolder, releaseNote, removeOperationIdPrefix, REQUEST_BODY_NAME, reservedWords, reservedWordsMappings, schemaHandler, skipOverwrite, sortParamsByRequiredFlag, specialCharReplacements, supportedLibraries, supportingFiles, supportsInheritance, supportsMixins, templateDir, templateEngine, templateVersion, testPackage, typeAliases, typeMapping, unflattenedOpenAPI, useOas2, vendorExtensions
Constructor and Description |
---|
AbstractCSharpCodegen() |
Modifier and Type | Method and Description |
---|---|
void |
addHandlebarHelpers(com.github.jknack.handlebars.Handlebars handlebars) |
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
|
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)
Convert Swagger Model object to Codegen Model object
|
String |
getDefaultTemplateDir() |
String |
getInterfacePrefix() |
String |
getSchemaType(io.swagger.v3.oas.models.media.Schema propertySchema)
returns the swagger type for the property
|
String |
getTypeDeclaration(io.swagger.v3.oas.models.media.Schema propertySchema)
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(io.swagger.codegen.v3.CodegenModel model,
io.swagger.codegen.v3.CodegenProperty property) |
Map<String,Object> |
postProcessModels(Map<String,Object> objs) |
Map<String,Object> |
postProcessOperations(Map<String,Object> objs) |
void |
preprocessOpenAPI(io.swagger.v3.oas.models.OpenAPI openAPI) |
String |
preserveNewlines(String input,
int tabstops) |
protected void |
processOperation(io.swagger.codegen.v3.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.v3.oas.models.media.Schema schema)
Return the default value of the property
|
String |
toEnumName(io.swagger.codegen.v3.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 schema)
Return the example value of the property
|
String |
toInstantiationType(io.swagger.v3.oas.models.media.Schema schema)
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(io.swagger.codegen.v3.CodegenProperty var)
Update codegen property's enum by adding "enumVars" (with name and value)
|
void |
useDateTimeOffset(boolean flag) |
addAdditionPropertiesToCodeGenModel, addConsumesInfo, addImport, additionalProperties, addOperationToGroup, addOption, addOption, addProducesInfo, addProperties, addRegularExpressionDelimiter, addSwitch, apiDocFileFolder, apiDocFilename, apiDocTemplateFiles, apiFilename, apiPackage, apiTemplateFiles, apiTestFilename, apiTestTemplateFiles, buildLibraryCliOption, camelize, camelize, cliOptions, configureDataForTestTemplate, configuresParameterForMediaType, convertPropertyToBoolean, convertPropertyToBooleanAndWriteBack, dashize, defaultIncludes, detectParent, embeddedTemplateDir, escapeText, fileSuffix, findCommonPrefixOfVars, findMethodResponse, fromModel, fromOperation, fromOperation, fromParameter, fromProperty, fromRequestBody, fromResponse, fromSecurity, generateExamplePath, getAlias, getArgumentsLocation, getCollectionFormat, getCommonTemplateDir, getConsumesInfo, getContentType, getGitRepoId, getGitUserId, getHideGenerationTimestamp, getHttpUserAgent, getIgnoreFilePathOverride, getInnerEnumAllowableValues, getInputSpec, getInputURL, getLanguageArguments, getLibrary, getOptionValue, getOrGenerateOperationId, getOutputDir, getParameterFromRef, getParentName, getProducesInfo, getReleaseNote, getSchemaFromBody, getSchemaFromResponse, getSortParamsByRequiredFlag, getSymbolName, getTemplateDir, getTemplateEngine, getTemplateVersion, getterAndSetterCapitalize, getTypeDeclaration, hasSchemaProperties, hasTrueAdditionalProperties, importMapping, initialCaps, instantiationTypes, isDataTypeBinary, isDataTypeFile, isObjectSchema, isPropertyInnerMostEnum, isRemoveOperationIdPrefix, isSkipOverwrite, languageSpecificPrimitives, modelDocFileFolder, modelDocTemplateFiles, modelPackage, modelTemplateFiles, modelTestTemplateFiles, needsUnflattenedSpec, needToImport, outputFolder, postProcessModelsEnum, postProcessOperationsWithModels, postProcessParameter, postProcessSupportingFileData, processCompiler, processModelEnums, processOpenAPI, readLanguageArguments, removeNonNameElementToCamelCase, removeNonNameElementToCamelCase, reservedWords, reservedWordsMappings, sanitizeName, sanitizeTag, setAllowUnicodeIdentifiers, setApiPackage, setCommonTemplateDir, setEnsureUniqueParams, setGitRepoId, setGitUserId, setHideGenerationTimestamp, setHttpUserAgent, setIgnoreFilePathOverride, setInputSpec, setInputURL, setLanguageArguments, setLibrary, setModelNamePrefix, setModelNameSuffix, setModelPackage, setNonArrayMapProperty, setOutputDir, setParameterBooleanFlagWithCodegenProperty, setParameterExampleValue, setParameterNullable, setReleaseNote, setRemoveOperationIdPrefix, setReservedWordsLowerCase, 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, updateDataTypeWithEnumForArray, updateDataTypeWithEnumForMap, updatePropertyForArray, updatePropertyForMap, vendorExtensions, writeOptional, writePropertyBack
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 io.swagger.codegen.v3.CodegenConfig
processOpts
in class DefaultCodegenConfig
public void postProcessModelProperty(io.swagger.codegen.v3.CodegenModel model, io.swagger.codegen.v3.CodegenProperty property)
postProcessModelProperty
in interface io.swagger.codegen.v3.CodegenConfig
postProcessModelProperty
in class DefaultCodegenConfig
public Map<String,Object> postProcessModels(Map<String,Object> objs)
postProcessModels
in interface io.swagger.codegen.v3.CodegenConfig
postProcessModels
in class DefaultCodegenConfig
public Map<String,Object> postProcessAllModels(Map<String,Object> objs)
postProcessAllModels
in interface io.swagger.codegen.v3.CodegenConfig
postProcessAllModels
in class DefaultCodegenConfig
objs
- Current state of codegen object model.public void updateCodegenPropertyEnum(io.swagger.codegen.v3.CodegenProperty var)
updateCodegenPropertyEnum
in class DefaultCodegenConfig
var
- list of CodegenPropertypublic Map<String,Object> postProcessOperations(Map<String,Object> objs)
postProcessOperations
in interface io.swagger.codegen.v3.CodegenConfig
postProcessOperations
in class DefaultCodegenConfig
protected void processOperation(io.swagger.codegen.v3.CodegenOperation operation)
public String apiFileFolder()
apiFileFolder
in interface io.swagger.codegen.v3.CodegenConfig
apiFileFolder
in class DefaultCodegenConfig
public String modelFileFolder()
modelFileFolder
in interface io.swagger.codegen.v3.CodegenConfig
modelFileFolder
in class DefaultCodegenConfig
public String toModelFilename(String name)
DefaultCodegenConfig
toModelFilename
in interface io.swagger.codegen.v3.CodegenConfig
toModelFilename
in class DefaultCodegenConfig
name
- the model namepublic String toOperationId(String operationId)
DefaultCodegenConfig
toOperationId
in class DefaultCodegenConfig
operationId
- operation IDpublic String toVarName(String name)
DefaultCodegenConfig
toVarName
in class DefaultCodegenConfig
name
- the variable namepublic String toParamName(String name)
DefaultCodegenConfig
toParamName
in interface io.swagger.codegen.v3.CodegenConfig
toParamName
in class DefaultCodegenConfig
name
- Codegen property objectpublic String escapeReservedWord(String name)
DefaultCodegenConfig
escapeReservedWord
in interface io.swagger.codegen.v3.CodegenConfig
escapeReservedWord
in class DefaultCodegenConfig
name
- the name to be escapedpublic String toExampleValue(io.swagger.v3.oas.models.media.Schema schema)
toExampleValue
in class DefaultCodegenConfig
schema
- Open API Schema objectpublic String toDefaultValue(io.swagger.v3.oas.models.media.Schema schema)
toDefaultValue
in class DefaultCodegenConfig
schema
- Schema objectprotected boolean isReservedWord(String word)
isReservedWord
in class DefaultCodegenConfig
public String getSchemaType(io.swagger.v3.oas.models.media.Schema propertySchema)
DefaultCodegenConfig
getSchemaType
in class DefaultCodegenConfig
propertySchema
- Schema property objectpublic String toInstantiationType(io.swagger.v3.oas.models.media.Schema schema)
DefaultCodegenConfig
toInstantiationType
in class DefaultCodegenConfig
schema
- Swagger property objectpublic String getTypeDeclaration(io.swagger.v3.oas.models.media.Schema propertySchema)
DefaultCodegenConfig
getTypeDeclaration
in interface io.swagger.codegen.v3.CodegenConfig
getTypeDeclaration
in class DefaultCodegenConfig
propertySchema
- Schema Property objectpublic String toModelName(String name)
DefaultCodegenConfig
toModelName
in interface io.swagger.codegen.v3.CodegenConfig
toModelName
in class DefaultCodegenConfig
name
- the name of the modelpublic String apiTestFileFolder()
apiTestFileFolder
in interface io.swagger.codegen.v3.CodegenConfig
apiTestFileFolder
in class DefaultCodegenConfig
public String modelTestFileFolder()
modelTestFileFolder
in interface io.swagger.codegen.v3.CodegenConfig
modelTestFileFolder
in class DefaultCodegenConfig
public String toApiTestFilename(String name)
DefaultCodegenConfig
toApiTestFilename
in interface io.swagger.codegen.v3.CodegenConfig
toApiTestFilename
in class DefaultCodegenConfig
name
- the file name of the Apipublic String toModelTestFilename(String name)
DefaultCodegenConfig
toModelTestFilename
in interface io.swagger.codegen.v3.CodegenConfig
toModelTestFilename
in class DefaultCodegenConfig
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 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)
DefaultCodegenConfig
fromModel
in interface io.swagger.codegen.v3.CodegenConfig
fromModel
in class DefaultCodegenConfig
name
- the name of the modelschema
- Swagger Model objectallDefinitions
- a map of all Swagger models from the specpublic String toEnumValue(String value, String datatype)
DefaultCodegenConfig
toEnumValue
in class DefaultCodegenConfig
value
- enum variable namedatatype
- data typepublic String toEnumVarName(String name, String datatype)
DefaultCodegenConfig
toEnumVarName
in class DefaultCodegenConfig
name
- enum variable namedatatype
- data typepublic String toEnumName(io.swagger.codegen.v3.CodegenProperty property)
DefaultCodegenConfig
toEnumName
in class DefaultCodegenConfig
property
- Codegen propertypublic String testPackageName()
public boolean isPreserveNewLines()
public void setPreserveNewLines(boolean preserveNewLines)
public void preprocessOpenAPI(io.swagger.v3.oas.models.OpenAPI openAPI)
preprocessOpenAPI
in interface io.swagger.codegen.v3.CodegenConfig
preprocessOpenAPI
in class DefaultCodegenConfig
public String getDefaultTemplateDir()
getDefaultTemplateDir
in class DefaultCodegenConfig
public String escapeQuotationMark(String input)
DefaultCodegenConfig
escapeQuotationMark
in interface io.swagger.codegen.v3.CodegenConfig
escapeQuotationMark
in class DefaultCodegenConfig
input
- String to be cleaned uppublic String escapeUnsafeCharacters(String input)
DefaultCodegenConfig
escapeUnsafeCharacters
in interface io.swagger.codegen.v3.CodegenConfig
escapeUnsafeCharacters
in class DefaultCodegenConfig
input
- String to be cleaned uppublic void addHandlebarHelpers(com.github.jknack.handlebars.Handlebars handlebars)
addHandlebarHelpers
in interface io.swagger.codegen.v3.CodegenConfig
addHandlebarHelpers
in class DefaultCodegenConfig
Copyright © 2019. All rights reserved.