Class AbstractCSharpCodegen
- java.lang.Object
-
- org.openapitools.codegen.DefaultCodegen
-
- org.openapitools.codegen.languages.AbstractCSharpCodegen
-
- All Implemented Interfaces:
CodegenConfig
- Direct Known Subclasses:
AspnetFastendpointsServerCodegen,AspNetServerCodegen,CSharpClientCodegen,CSharpFunctionsServerCodegen,CSharpReducedClientCodegen
public abstract class AbstractCSharpCodegen extends DefaultCodegen
-
-
Field Summary
-
Fields inherited from class org.openapitools.codegen.DefaultCodegen
additionalProperties, addOneOfInterfaceImports, addOneOfInterfaces, addSuffixToDuplicateOperationNicknames, allowUnicodeIdentifiers, apiDocTemplateFiles, apiNamePrefix, apiNameSuffix, apiPackage, apiTemplateFiles, apiTestTemplateFiles, autosetConstants, cliOptions, DefaultFeatureSet, defaultIncludes, defaultToEmptyContainer, disallowAdditionalPropertiesIfNotPresent, docExtension, embeddedTemplateDir, enableMinimalUpdate, enablePostProcessFile, ensureUniqueParams, enumNameMapping, enumUnknownDefaultCase, enumUnknownDefaultCaseName, falseSchema, filesMetadataFilename, fileSuffix, generatorMetadata, gitHost, gitRepoId, gitUserId, hideGenerationTimestamp, httpUserAgent, ignoreFilePathOverride, importBaseType, importContainerType, importMapping, inlineSchemaNameMapping, inlineSchemaOption, inputSpec, instantiationTypes, JSON_MIME_PATTERN, JSON_VENDOR_MIME_PATTERN, languageSpecificPrimitives, legacyDiscriminatorBehavior, library, loadDeepObjectIntoItems, modelDocTemplateFiles, modelNameMapping, modelNamePrefix, modelNameSuffix, modelPackage, modelTemplateFiles, modelTestTemplateFiles, nameMapping, openAPI, openapiGeneratorIgnoreList, openapiNormalizer, operationIdNameMapping, outputFolder, parameterNameMapping, prependFormOrBodyParameters, releaseNote, removeEnumValuePrefix, removeOperationIdPrefix, removeOperationIdPrefixCount, removeOperationIdPrefixDelimiter, reservedWords, reservedWordsMappings, schemaMapping, serverVariables, skipOperationExample, skipOverwrite, skipSortingOperations, sortModelPropertiesByRequiredFlag, sortParamsByRequiredFlag, specialCharReplacements, strictSpecBehavior, supportedLibraries, supportingFiles, supportsAdditionalPropertiesWithComposedSchema, supportsInheritance, supportsMixins, supportsMultipleInheritance, templateDir, templateOutputDirs, testPackage, trueSchema, typeAliases, typeMapping, useOneOfInterfaces, vendorExtensions, versionMetadataFilename, XML_MIME_PATTERN
-
-
Constructor Summary
Constructors Constructor Description AbstractCSharpCodegen()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description protected com.google.common.collect.ImmutableMap.Builder<String,com.samskivert.mustache.Mustache.Lambda>addMustacheLambdas()Preset map builder with commonly used Mustache lambdas.protected voidaddParentFromContainer(CodegenModel model, io.swagger.v3.oas.models.media.Schema schema)StringaddRegularExpressionDelimiter(String pattern)If the pattern misses the delimiter, add "/" to the beginning and end Otherwise, return the original patternStringapiFileFolder()StringapiTestFileFolder()static DoubleasDouble(String strNum)If the value can be parsed as a double, returns the value, otherwise returns nullstatic IntegerasInteger(String strNum)If the value can be parsed as an integer, returns the value, otherwise returns nullprotected List<Map<String,Object>>buildEnumVars(List<Object> values, String dataType)StringescapeKeyword(String value)StringescapeQuotationMark(String input)Escape single and/or double quote to avoid code injectionStringescapeReservedWord(String name)Return the escaped name of the reserved wordStringescapeReservedWord(CodegenModel model, String name)StringescapeUnsafeCharacters(String input)override with any special text escaping logic to handle unsafe characters so as to avoid code injectionGeneratorLanguagegeneratorLanguage()booleangetNullableReferencesTypes()StringgetNullableType(io.swagger.v3.oas.models.media.Schema p, String type)protected Set<String>getNullableTypes()Deprecated.StringgetSchemaType(io.swagger.v3.oas.models.media.Schema p)returns the OpenAPI type for the property.StringgetTypeDeclaration(io.swagger.v3.oas.models.media.Schema p)Output the language-specific type declaration of the property.booleangetUseSourceGeneration()protected Set<String>getValueTypes()booleanisDataTypeString(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 booleanisReservedWord(String word)protected booleanisValueType(CodegenProperty var)Return true if the property being passed is a C# value typeStringmodelFileFolder()StringmodelTestFileFolder()protected voidpatchProperty(Map<String,CodegenModel> enumRefs, CodegenModel model, CodegenProperty property)protected voidpatchPropertyIsInherited(CodegenModel model, CodegenProperty property)protected voidpatchVendorExtensionNullableValueType(CodegenParameter parameter)protected voidpatchVendorExtensionNullableValueTypeLegacy(CodegenParameter parameter)This is the same as patchVendorExtensionNullableValueType except it uses the deprecated getNullableTypes propertyMap<String,ModelsMap>postProcessAllModels(Map<String,ModelsMap> objs)Invoked byDefaultGeneratorafter all models have been post-processed, allowing for a last pass of codegen-specific model cleanup.voidpostProcessFile(File file, String fileType)Post-process the auto-generated file, e.g. using go-fmt to format the Go code.voidpostProcessModelProperty(CodegenModel model, CodegenProperty property)ModelsMappostProcessModels(ModelsMap objs)OperationsMappostProcessOperationsWithModels(OperationsMap objs, List<ModelMap> allModels)voidpostProcessParameter(CodegenParameter parameter)voidpostProcessPattern(String pattern, Map<String,Object> vendorExtensions)WebhooksMappostProcessWebhooksWithModels(WebhooksMap objs, List<ModelMap> allModels)protected voidprocessOperation(CodegenOperation operation)voidprocessOpts()protected voidremovePropertiesDeclaredInComposedTypes(Map<String,ModelsMap> objs, CodegenModel model, List<CodegenProperty> composedProperties)voidsetEnumPropertyNaming(String enumPropertyNamingType)voidsetNullableReferenceTypes(Boolean nullReferenceTypesFlag)voidsetParameterExampleValue(CodegenParameter p)Return the example value of the parameter.protected voidsetTypeMapping()voidsetUseCollection(boolean useCollection)voidsetUseSourceGeneration(Boolean useSourceGeneration)StringtestPackageName()StringtoApiTestFilename(String name)Return the file name of the Api TestStringtoDefaultValue(io.swagger.v3.oas.models.media.Schema p)Return the default value of the propertyStringtoEnumName(CodegenProperty property)Return the Enum name (e.g.StringtoEnumValue(String value, String datatype)Return the enum value in the language specified format e.g. status becomes "status"StringtoEnumVarName(String name, String datatype)Return the sanitized variable name for enumStringtoExampleValue(io.swagger.v3.oas.models.media.Schema p)Return the example value of the propertyStringtoInstantiationType(io.swagger.v3.oas.models.media.Schema p)Return the instantiation type of the property, especially for map and arrayStringtoModelFilename(String name)Return the capitalized file name of the modelStringtoModelName(String name)Converts the OpenAPI schema name to a model name suitable for the current code generator.StringtoModelTestFilename(String name)Return the capitalized file name of the model testStringtoOperationId(String operationId)Return the operation ID (method name)StringtoParamName(String name)Return the parameter name by removing invalid characters and proper escaping if it's a reserved word.StringtoRegularExpression(String pattern)Return the regular expression/JSON schema pattern (http://json-schema.org/latest/json-schema-validation.html#anchor33)StringtoVarName(String name)Return the variable name by removing invalid characters and proper escaping if it's a reserved word.protected voidupdateCodegenParameterEnum(CodegenParameter parameter, CodegenModel model)protected voidupdateCodegenParameterEnumLegacy(CodegenParameter parameter, CodegenModel model)voidupdateCodegenPropertyEnum(CodegenProperty var)Update codegen property's enum by adding "enumVars" (with name and value)protected booleanuseDateOnly()voiduseDateTimeForDate(boolean flag)voiduseDateTimeOffset(boolean flag)protected booleanuseNet60OrLater()-
Methods inherited from class org.openapitools.codegen.DefaultCodegen
addAdditionPropertiesToCodeGenModel, addBodyModelSchema, addHeaders, addImport, addImport, addImport, addImports, addImports, addImports, addImportsForPropertyType, addImportsToOneOfInterface, additionalProperties, addOneOfInterfaceModel, addOneOfNameExtension, addOperationToGroup, addOption, addOption, addParentContainer, addProperties, addRequiredVarsMap, addSwitch, addVars, addVars, addVarsRequiredVarsAdditionalProps, apiDocFileFolder, apiDocFilename, apiDocTemplateFiles, apiFilename, apiFilename, apiPackage, apiTemplateFiles, apiTestFilename, apiTestTemplateFiles, buildLibraryCliOption, cliOptions, convertPropertyToBoolean, convertPropertyToBooleanAndWriteBack, convertPropertyToBooleanAndWriteBack, convertPropertyToStringAndWriteBack, convertPropertyToTypeAndWriteBack, createDiscriminator, defaultIncludes, defaultTemplatingEngine, embeddedTemplateDir, encodePath, enumNameMapping, escapeText, escapeTextInSingleQuotes, escapeTextWhileAllowingNewLines, executePostProcessor, fileSuffix, findCommonPrefixOfVars, findMethodResponse, fromCallback, fromFormProperty, fromModel, fromOperation, fromParameter, fromProperty, fromProperty, fromProperty, fromRequestBody, fromRequestBodyToFormParameters, fromResponse, fromSecurity, fromServers, fromServerVariables, generateExamplePath, generateJSONSpecFile, generateYAMLSpecFile, generatorLanguageVersion, getAdditionalPropertiesName, getAddSuffixToDuplicateOperationNicknames, getAlias, getAllModels, getAllOfDescendants, getCollectionFormat, getCollectionFormat, getConsumesInfo, getContent, getContentType, getDisallowAdditionalPropertiesIfNotPresent, getDocExtension, getEnumDefaultValue, getEnumUnknownDefaultCase, getEnumValueForProperty, getFeatureSet, getFilesMetadataFilename, getGeneratorMetadata, getGitHost, getGitRepoId, getGitUserId, getHelp, getHttpUserAgent, getIgnoreFilePathOverride, getInnerEnumAllowableValues, getInputSpec, getItemsName, getLegacyDiscriminatorBehavior, getLibrary, getModelNameToSchemaCache, getMostInnerItems, getName, getOneOfAnyOfDescendants, getOpenapiGeneratorIgnoreList, getOrGenerateOperationId, getOutputDir, getParameterDataType, getProducesInfo, getReleaseNote, getSchemaAdditionalProperties, getSchemaFromBooleanOrSchema, getSingleSchemaType, getSupportedVendorExtensions, getSymbolName, getTag, getTemplatingEngine, getterAndSetterCapitalize, getTypeDeclaration, getUseInlineModelResolver, getUseOneOfInterfaces, getUseOpenapiNormalizer, getVersionMetadataFilename, handleConstantParams, handleMethodResponse, handleMethodResponse, handleSpecialCharacters, hasBodyParameter, hasFormParameter, importMapping, initializeSpecialCharacterMapping, inlineSchemaNameMapping, inlineSchemaOption, instantiationTypes, isDataTypeBinary, isDataTypeFile, isEnableMinimalUpdate, isEnablePostProcessFile, isHideGenerationTimestamp, isJsonMimeType, isJsonVendorMimeType, isLibrary, isParameterNameUnique, isPropertyInnerMostEnum, isRemoveEnumValuePrefix, isRemoveOperationIdPrefix, isSkipOperationExample, isSkipOverwrite, isSkipSortingOperations, isStrictSpecBehavior, isTypeErasedGenerics, isXmlMimeType, languageSpecificPrimitives, lowerCamelCase, modelDocFileFolder, modelDocTemplateFiles, modelFilename, modelFilename, modelNameMapping, modelPackage, modelTemplateFiles, modelTestTemplateFiles, modifyFeatureSet, nameMapping, needToImport, openapiGeneratorIgnoreList, openapiNormalizer, operationIdNameMapping, outputFolder, parameterNameMapping, postProcess, postProcessEnumVars, postProcessModelsEnum, postProcessResponseWithProperty, postProcessSupportingFileData, preprocessOpenAPI, processCompiler, processOpenAPI, processTemplatingEngine, processTestExampleData, removeImport, removeNonNameElementToCamelCase, removeNonNameElementToCamelCase, removeOption, removeSelfReferenceImports, reservedWords, reservedWordsMappings, sanitizeName, sanitizeName, sanitizeName, sanitizeTag, schemaMapping, serverVariableOverrides, setAddProps, setCircularReferences, setDocExtension, setEnableMinimalUpdate, setEnablePostProcessFile, setEnumDiscriminatorDefaultValue, setGitHost, setGitRepoId, setGitUserId, setHideGenerationTimestamp, setHttpUserAgent, setIgnoreFilePathOverride, setInputSpec, setLibrary, setNonArrayMapProperty, setOpenAPI, setOutputDir, setParameterBooleanFlagWithCodegenProperty, setParameterEncodingValues, setParameterExamples, setParameterExampleValue, setParameterExampleValue, setParameterNullable, setReleaseNote, setRemoveEnumValuePrefix, setRemoveOperationIdPrefix, setReservedWordsLowerCase, setSkipOperationExample, setSkipOverwrite, setSkipSortingOperations, setStrictSpecBehavior, setTemplatingEngine, setUseOneOfInterfaces, shouldAddImport, shouldOverwrite, SortModelPropertiesByRequiredFlag, SortParametersByRequiredFlag, specVersionGreaterThanOrEqualTo310, supportedLibraries, supportingFiles, templateDir, templateOutputDirs, testPackage, toAllOfName, toAnyOfName, toApiDocFilename, toApiFilename, toApiImport, toApiName, toApiVarName, toArrayModelParamName, toBooleanGetter, toDefaultParameterValue, toDefaultParameterValue, toDefaultValue, toDefaultValueWithParam, toEnumDefaultValue, toEnumDefaultValue, toExamples, toGetter, toMediaTypeSchemaName, toModelDocFilename, toModelImport, toModelImportMap, toOneOfName, toSetter, toTestCaseName, typeMapping, unaliasPropertySchema, unaliasSchema, updateAllModels, updateDataTypeWithEnumForArray, updateDataTypeWithEnumForMap, updateEnumVarsWithExtensions, updateModelForAnyType, updateModelForComposedSchema, updateModelForInteger, updateModelForNumber, updateModelForObject, updateModelForString, updateOption, updateParameterForString, updatePropertyForAnyType, updatePropertyForArray, updatePropertyForInteger, updatePropertyForMap, updatePropertyForMap, updatePropertyForNumber, updatePropertyForObject, updatePropertyForString, updateRequestBodyForArray, updateRequestBodyForMap, updateRequestBodyForObject, updateRequestBodyForPrimitiveType, updateRequestBodyForString, useCodegenAsMustacheParentContext, vendorExtensions, writePropertyBack
-
-
-
-
Field Detail
-
optionalAssemblyInfoFlag
protected boolean optionalAssemblyInfoFlag
-
optionalEmitDefaultValuesFlag
protected boolean optionalEmitDefaultValuesFlag
-
conditionalSerialization
protected boolean conditionalSerialization
-
optionalProjectFileFlag
protected boolean optionalProjectFileFlag
-
optionalMethodArgumentFlag
protected boolean optionalMethodArgumentFlag
-
useDateTimeOffsetFlag
protected boolean useDateTimeOffsetFlag
-
useDateTimeForDateFlag
protected boolean useDateTimeForDateFlag
-
useCollection
protected boolean useCollection
-
returnICollection
protected boolean returnICollection
-
netCoreProjectFileFlag
protected boolean netCoreProjectFileFlag
-
nullReferenceTypesFlag
protected boolean nullReferenceTypesFlag
-
useSourceGeneration
protected boolean useSourceGeneration
-
modelPropertyNaming
protected String modelPropertyNaming
-
licenseUrl
protected String licenseUrl
-
licenseName
protected String licenseName
-
packageVersion
protected String packageVersion
-
packageName
protected String packageName
-
packageTitle
protected String packageTitle
-
packageProductName
protected String packageProductName
-
packageDescription
protected String packageDescription
-
packageCompany
protected String packageCompany
-
packageCopyright
protected String packageCopyright
-
packageAuthors
protected String packageAuthors
-
DATE_FORMAT
public static final String DATE_FORMAT
- See Also:
- Constant Field Values
-
dateFormat
protected String dateFormat
-
DATETIME_FORMAT
public static final String DATETIME_FORMAT
- See Also:
- Constant Field Values
-
dateTimeFormat
protected String dateTimeFormat
-
interfacePrefix
protected String interfacePrefix
-
enumNameSuffix
protected String enumNameSuffix
-
enumValueSuffix
protected String enumValueSuffix
-
sourceFolder
protected String sourceFolder
-
invalidParameterNamePrefix
protected static final String invalidParameterNamePrefix
- See Also:
- Constant Field Values
-
invalidPropertyNamePrefix
protected static final String invalidPropertyNamePrefix
- See Also:
- Constant Field Values
-
enumPropertyNaming
protected CodegenConstants.ENUM_PROPERTY_NAMING_TYPE enumPropertyNaming
-
testFolder
protected String testFolder
-
supportNullable
protected boolean supportNullable
-
zeroBasedEnums
protected Boolean zeroBasedEnums
-
zeroBasedEnumVendorExtension
protected static final String zeroBasedEnumVendorExtension
- See Also:
- Constant Field Values
-
-
Method Detail
-
setUseCollection
public void setUseCollection(boolean useCollection)
-
useDateTimeOffset
public void useDateTimeOffset(boolean flag)
-
useDateTimeForDate
public void useDateTimeForDate(boolean flag)
-
addParentFromContainer
protected void addParentFromContainer(CodegenModel model, io.swagger.v3.oas.models.media.Schema schema)
- Overrides:
addParentFromContainerin classDefaultCodegen
-
processOpts
public void processOpts()
- Specified by:
processOptsin interfaceCodegenConfig- Overrides:
processOptsin classDefaultCodegen
-
addMustacheLambdas
protected com.google.common.collect.ImmutableMap.Builder<String,com.samskivert.mustache.Mustache.Lambda> addMustacheLambdas()
Description copied from class:DefaultCodegenPreset map builder with commonly used Mustache lambdas. To extend the map, override addMustacheLambdas(), call parent method first and then add additional lambdas to the returned builder. If common lambdas are not desired, override addMustacheLambdas() method and return empty builder. Corresponding user documentation: docs/templating.md, section "Mustache Lambdas"- Overrides:
addMustacheLambdasin classDefaultCodegen- Returns:
- preinitialized map with common lambdas
-
postProcessModelProperty
public void postProcessModelProperty(CodegenModel model, CodegenProperty property)
- Specified by:
postProcessModelPropertyin interfaceCodegenConfig- Overrides:
postProcessModelPropertyin classDefaultCodegen
-
asDouble
public static Double asDouble(String strNum)
If the value can be parsed as a double, returns the value, otherwise returns null
-
asInteger
public static Integer asInteger(String strNum)
If the value can be parsed as an integer, returns the value, otherwise returns null
-
postProcessModels
public ModelsMap postProcessModels(ModelsMap objs)
- Specified by:
postProcessModelsin interfaceCodegenConfig- Overrides:
postProcessModelsin classDefaultCodegen
-
postProcessAllModels
public Map<String,ModelsMap> postProcessAllModels(Map<String,ModelsMap> objs)
Invoked byDefaultGeneratorafter all models have been post-processed, allowing for a last pass of codegen-specific model cleanup.- Specified by:
postProcessAllModelsin interfaceCodegenConfig- Overrides:
postProcessAllModelsin classDefaultCodegen- Parameters:
objs- Current state of codegen object model.- Returns:
- An in-place modified state of the codegen object model.
-
removePropertiesDeclaredInComposedTypes
protected void removePropertiesDeclaredInComposedTypes(Map<String,ModelsMap> objs, CodegenModel model, List<CodegenProperty> composedProperties)
-
patchPropertyIsInherited
protected void patchPropertyIsInherited(CodegenModel model, CodegenProperty property)
-
patchProperty
protected void patchProperty(Map<String,CodegenModel> enumRefs, CodegenModel model, CodegenProperty property)
-
buildEnumVars
protected List<Map<String,Object>> buildEnumVars(List<Object> values, String dataType)
- Overrides:
buildEnumVarsin classDefaultCodegen
-
updateCodegenPropertyEnum
public void updateCodegenPropertyEnum(CodegenProperty var)
Update codegen property's enum by adding "enumVars" (with name and value)- Overrides:
updateCodegenPropertyEnumin classDefaultCodegen- Parameters:
var- list of CodegenProperty
-
postProcessWebhooksWithModels
public WebhooksMap postProcessWebhooksWithModels(WebhooksMap objs, List<ModelMap> allModels)
- Specified by:
postProcessWebhooksWithModelsin interfaceCodegenConfig- Overrides:
postProcessWebhooksWithModelsin classDefaultCodegen
-
postProcessOperationsWithModels
public OperationsMap postProcessOperationsWithModels(OperationsMap objs, List<ModelMap> allModels)
- Specified by:
postProcessOperationsWithModelsin interfaceCodegenConfig- Overrides:
postProcessOperationsWithModelsin classDefaultCodegen
-
patchVendorExtensionNullableValueType
protected void patchVendorExtensionNullableValueType(CodegenParameter parameter)
-
patchVendorExtensionNullableValueTypeLegacy
protected void patchVendorExtensionNullableValueTypeLegacy(CodegenParameter parameter)
This is the same as patchVendorExtensionNullableValueType except it uses the deprecated getNullableTypes property
-
processOperation
protected void processOperation(CodegenOperation operation)
-
updateCodegenParameterEnumLegacy
protected void updateCodegenParameterEnumLegacy(CodegenParameter parameter, CodegenModel model)
-
updateCodegenParameterEnum
protected void updateCodegenParameterEnum(CodegenParameter parameter, CodegenModel model)
-
apiFileFolder
public String apiFileFolder()
- Specified by:
apiFileFolderin interfaceCodegenConfig- Overrides:
apiFileFolderin classDefaultCodegen
-
modelFileFolder
public String modelFileFolder()
- Specified by:
modelFileFolderin interfaceCodegenConfig- Overrides:
modelFileFolderin classDefaultCodegen
-
toModelFilename
public String toModelFilename(String name)
Description copied from class:DefaultCodegenReturn the capitalized file name of the model- Specified by:
toModelFilenamein interfaceCodegenConfig- Overrides:
toModelFilenamein classDefaultCodegen- Parameters:
name- the model name- Returns:
- the file name of the model
-
toOperationId
public String toOperationId(String operationId)
Description copied from class:DefaultCodegenReturn the operation ID (method name)- Overrides:
toOperationIdin classDefaultCodegen- Parameters:
operationId- operation ID- Returns:
- the sanitized method name
-
toVarName
public String toVarName(String name)
Description copied from class:DefaultCodegenReturn the variable name by removing invalid characters and proper escaping if it's a reserved word.- Overrides:
toVarNamein classDefaultCodegen- Parameters:
name- the variable name- Returns:
- the sanitized variable name
-
toParamName
public String toParamName(String name)
Description copied from class:DefaultCodegenReturn the parameter name by removing invalid characters and proper escaping if it's a reserved word.- Specified by:
toParamNamein interfaceCodegenConfig- Overrides:
toParamNamein classDefaultCodegen- Parameters:
name- Codegen property object- Returns:
- the sanitized parameter name
-
escapeReservedWord
public String escapeReservedWord(CodegenModel model, String name)
-
escapeReservedWord
public String escapeReservedWord(String name)
Description copied from class:DefaultCodegenReturn the escaped name of the reserved word- Specified by:
escapeReservedWordin interfaceCodegenConfig- Overrides:
escapeReservedWordin classDefaultCodegen- Parameters:
name- the name to be escaped- Returns:
- the escaped reserved word
throws Runtime exception as reserved word is not allowed (default behavior)
-
toExampleValue
public String toExampleValue(io.swagger.v3.oas.models.media.Schema p)
Return the example value of the property- Overrides:
toExampleValuein classDefaultCodegen- Parameters:
p- OpenAPI property object- Returns:
- string presentation of the example value of the property
-
toDefaultValue
public String toDefaultValue(io.swagger.v3.oas.models.media.Schema p)
Return the default value of the property- Overrides:
toDefaultValuein classDefaultCodegen- Parameters:
p- OpenAPI property object- Returns:
- string presentation of the default value of the property
-
isReservedWord
protected boolean isReservedWord(String word)
- Overrides:
isReservedWordin classDefaultCodegen
-
getNullableType
public String getNullableType(io.swagger.v3.oas.models.media.Schema p, String type)
-
getSchemaType
public String getSchemaType(io.swagger.v3.oas.models.media.Schema p)
Description copied from class:DefaultCodegenreturns the OpenAPI type for the property. Use getAlias to handle $ref of primitive type- Overrides:
getSchemaTypein classDefaultCodegen- Parameters:
p- property schema- Returns:
- string presentation of the type
-
toInstantiationType
public String toInstantiationType(io.swagger.v3.oas.models.media.Schema p)
Description copied from class:DefaultCodegenReturn the instantiation type of the property, especially for map and array- Overrides:
toInstantiationTypein classDefaultCodegen- Parameters:
p- property schema- Returns:
- string presentation of the instantiation type of the property
-
getTypeDeclaration
public String getTypeDeclaration(io.swagger.v3.oas.models.media.Schema p)
Description copied from class:DefaultCodegenOutput the language-specific type declaration of the property.- Specified by:
getTypeDeclarationin interfaceCodegenConfig- Overrides:
getTypeDeclarationin classDefaultCodegen- Parameters:
p- property schema- Returns:
- a string presentation of the property type
-
toModelName
public String toModelName(String name)
Description copied from class:DefaultCodegenConverts the OpenAPI schema name to a model name suitable for the current code generator. May be overridden for each programming language. In case the name belongs to the TypeSystem it won't be renamed.- Specified by:
toModelNamein interfaceCodegenConfig- Overrides:
toModelNamein classDefaultCodegen- Parameters:
name- the name of the model- Returns:
- capitalized model name
-
apiTestFileFolder
public String apiTestFileFolder()
- Specified by:
apiTestFileFolderin interfaceCodegenConfig- Overrides:
apiTestFileFolderin classDefaultCodegen
-
modelTestFileFolder
public String modelTestFileFolder()
- Specified by:
modelTestFileFolderin interfaceCodegenConfig- Overrides:
modelTestFileFolderin classDefaultCodegen
-
toApiTestFilename
public String toApiTestFilename(String name)
Description copied from class:DefaultCodegenReturn the file name of the Api Test- Specified by:
toApiTestFilenamein interfaceCodegenConfig- Overrides:
toApiTestFilenamein classDefaultCodegen- Parameters:
name- the file name of the Api- Returns:
- the file name of the Api
-
toModelTestFilename
public String toModelTestFilename(String name)
Description copied from class:DefaultCodegenReturn the capitalized file name of the model test- Specified by:
toModelTestFilenamein interfaceCodegenConfig- Overrides:
toModelTestFilenamein classDefaultCodegen- Parameters:
name- the model name- Returns:
- the file name of the model
-
setNullableReferenceTypes
public void setNullableReferenceTypes(Boolean nullReferenceTypesFlag)
-
getNullableReferencesTypes
public boolean getNullableReferencesTypes()
-
setUseSourceGeneration
public void setUseSourceGeneration(Boolean useSourceGeneration)
-
getUseSourceGeneration
public boolean getUseSourceGeneration()
-
setEnumPropertyNaming
public void setEnumPropertyNaming(String enumPropertyNamingType)
-
toEnumValue
public String toEnumValue(String value, String datatype)
Description copied from class:DefaultCodegenReturn the enum value in the language specified format e.g. status becomes "status"- Overrides:
toEnumValuein classDefaultCodegen- Parameters:
value- enum variable namedatatype- data type- Returns:
- the sanitized value for enum
-
toEnumVarName
public String toEnumVarName(String name, String datatype)
Description copied from class:DefaultCodegenReturn the sanitized variable name for enum- Overrides:
toEnumVarNamein classDefaultCodegen- Parameters:
name- enum variable namedatatype- data type- Returns:
- the sanitized variable name for enum
-
toEnumName
public String toEnumName(CodegenProperty property)
Description copied from class:DefaultCodegenReturn the Enum name (e.g. StatusEnum given 'status')- Overrides:
toEnumNamein classDefaultCodegen- Parameters:
property- Codegen property- Returns:
- the Enum name
-
testPackageName
public String testPackageName()
-
escapeQuotationMark
public String escapeQuotationMark(String input)
Description copied from class:DefaultCodegenEscape single and/or double quote to avoid code injection- Specified by:
escapeQuotationMarkin interfaceCodegenConfig- Overrides:
escapeQuotationMarkin classDefaultCodegen- Parameters:
input- String to be cleaned up- Returns:
- string with quotation mark removed or escaped
-
escapeUnsafeCharacters
public String escapeUnsafeCharacters(String input)
Description copied from class:DefaultCodegenoverride with any special text escaping logic to handle unsafe characters so as to avoid code injection- Specified by:
escapeUnsafeCharactersin interfaceCodegenConfig- Overrides:
escapeUnsafeCharactersin classDefaultCodegen- Parameters:
input- String to be cleaned up- Returns:
- string with unsafe characters removed or escaped
-
isDataTypeString
public boolean isDataTypeString(String dataType)
Description copied from class:DefaultCodegenchecks 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"- Overrides:
isDataTypeStringin classDefaultCodegen- Parameters:
dataType- data type- Returns:
- true if it's a enum string
-
isValueType
protected boolean isValueType(CodegenProperty var)
Return true if the property being passed is a C# value type- Parameters:
var- property- Returns:
- true if property is a value type
-
useNet60OrLater
protected boolean useNet60OrLater()
-
useDateOnly
protected boolean useDateOnly()
-
setParameterExampleValue
public void setParameterExampleValue(CodegenParameter p)
Description copied from class:DefaultCodegenReturn the example value of the parameter.- Overrides:
setParameterExampleValuein classDefaultCodegen- Parameters:
p- Codegen parameter
-
postProcessFile
public void postProcessFile(File file, String fileType)
Description copied from class:DefaultCodegenPost-process the auto-generated file, e.g. using go-fmt to format the Go code. The file type can be "model-test", "model-doc", "model", "api", "api-test", "api-doc", "supporting-file", "openapi-generator-ignore", "openapi-generator-version"TODO: store these values in enum instead
- Specified by:
postProcessFilein interfaceCodegenConfig- Overrides:
postProcessFilein classDefaultCodegen- Parameters:
file- file to be processedfileType- file type
-
postProcessParameter
public void postProcessParameter(CodegenParameter parameter)
- Specified by:
postProcessParameterin interfaceCodegenConfig- Overrides:
postProcessParameterin classDefaultCodegen
-
postProcessPattern
public void postProcessPattern(String pattern, Map<String,Object> vendorExtensions)
-
generatorLanguage
public GeneratorLanguage generatorLanguage()
- Specified by:
generatorLanguagein interfaceCodegenConfig- Overrides:
generatorLanguagein classDefaultCodegen
-
toRegularExpression
public String toRegularExpression(String pattern)
Description copied from class:DefaultCodegenReturn the regular expression/JSON schema pattern (http://json-schema.org/latest/json-schema-validation.html#anchor33)- Overrides:
toRegularExpressionin classDefaultCodegen- Parameters:
pattern- the pattern (regular expression)- Returns:
- properly-escaped pattern
-
addRegularExpressionDelimiter
public String addRegularExpressionDelimiter(String pattern)
Description copied from class:DefaultCodegenIf the pattern misses the delimiter, add "/" to the beginning and end Otherwise, return the original pattern- Overrides:
addRegularExpressionDelimiterin classDefaultCodegen- Parameters:
pattern- the pattern (regular expression)- Returns:
- the pattern with delimiter
-
getNullableTypes
@Deprecated protected Set<String> getNullableTypes()
Deprecated.
-
setTypeMapping
protected void setTypeMapping()
-
-