Class AbstractCSharpCodegen

    • Field Detail

      • optionalAssemblyInfoFlag

        protected boolean optionalAssemblyInfoFlag
      • optionalProjectFileFlag

        protected boolean optionalProjectFileFlag
      • optionalEmitDefaultValue

        protected boolean optionalEmitDefaultValue
      • optionalMethodArgumentFlag

        protected boolean optionalMethodArgumentFlag
      • useDateTimeOffsetFlag

        protected boolean useDateTimeOffsetFlag
      • useCollection

        protected boolean useCollection
      • returnICollection

        protected boolean returnICollection
      • preserveNewLines

        protected boolean preserveNewLines
      • netCoreProjectFileFlag

        protected boolean netCoreProjectFileFlag
      • modelPropertyNaming

        protected String modelPropertyNaming
      • 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
      • interfacePrefix

        protected String interfacePrefix
      • sourceFolder

        protected String sourceFolder
      • testFolder

        protected String testFolder
      • collectionTypes

        protected Set<String> collectionTypes
      • LOGGER

        protected org.slf4j.Logger LOGGER
    • Constructor Detail

      • AbstractCSharpCodegen

        public AbstractCSharpCodegen()
    • Method Detail

      • setReturnICollection

        public void setReturnICollection​(boolean returnICollection)
      • setOptionalEmitDefaultValue

        public void setOptionalEmitDefaultValue​(boolean optionalEmitDefaultValue)
      • setUseCollection

        public void setUseCollection​(boolean useCollection)
      • setOptionalMethodArgumentFlag

        public void setOptionalMethodArgumentFlag​(boolean flag)
      • setNetCoreProjectFileFlag

        public void setNetCoreProjectFileFlag​(boolean flag)
      • useDateTimeOffset

        public void useDateTimeOffset​(boolean flag)
      • processOpts

        public void processOpts()
        Specified by:
        processOpts in interface io.swagger.codegen.v3.CodegenConfig
        Overrides:
        processOpts in class DefaultCodegenConfig
      • postProcessModelProperty

        public void postProcessModelProperty​(io.swagger.codegen.v3.CodegenModel model,
                                             io.swagger.codegen.v3.CodegenProperty property)
        Specified by:
        postProcessModelProperty in interface io.swagger.codegen.v3.CodegenConfig
        Overrides:
        postProcessModelProperty in class DefaultCodegenConfig
      • postProcessAllModels

        public 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.
        Specified by:
        postProcessAllModels in interface io.swagger.codegen.v3.CodegenConfig
        Overrides:
        postProcessAllModels in class DefaultCodegenConfig
        Parameters:
        objs - Current state of codegen object model.
        Returns:
        An in-place modified state of the codegen object model.
      • updateCodegenPropertyEnum

        public void updateCodegenPropertyEnum​(io.swagger.codegen.v3.CodegenProperty var)
        Update codegen property's enum by adding "enumVars" (with name and value)
        Overrides:
        updateCodegenPropertyEnum in class DefaultCodegenConfig
        Parameters:
        var - list of CodegenProperty
      • processOperation

        protected void processOperation​(io.swagger.codegen.v3.CodegenOperation operation)
      • toModelFilename

        public String toModelFilename​(String name)
        Description copied from class: DefaultCodegenConfig
        Return the capitalized file name of the model
        Specified by:
        toModelFilename in interface io.swagger.codegen.v3.CodegenConfig
        Overrides:
        toModelFilename in class DefaultCodegenConfig
        Parameters:
        name - the model name
        Returns:
        the file name of the model
      • toVarName

        public String toVarName​(String name)
        Description copied from class: DefaultCodegenConfig
        Return the variable name by removing invalid characters and proper escaping if it's a reserved word.
        Overrides:
        toVarName in class DefaultCodegenConfig
        Parameters:
        name - the variable name
        Returns:
        the sanitized variable name
      • toParamName

        public String toParamName​(String name)
        Description copied from class: DefaultCodegenConfig
        Return the parameter name by removing invalid characters and proper escaping if it's a reserved word.
        Specified by:
        toParamName in interface io.swagger.codegen.v3.CodegenConfig
        Overrides:
        toParamName in class DefaultCodegenConfig
        Parameters:
        name - Codegen property object
        Returns:
        the sanitized parameter name
      • escapeReservedWord

        public String escapeReservedWord​(String name)
        Description copied from class: DefaultCodegenConfig
        Return the escaped name of the reserved word
        Specified by:
        escapeReservedWord in interface io.swagger.codegen.v3.CodegenConfig
        Overrides:
        escapeReservedWord in class DefaultCodegenConfig
        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 schema)
        Return the example value of the property
        Overrides:
        toExampleValue in class DefaultCodegenConfig
        Parameters:
        schema - Open API Schema object
        Returns:
        string presentation of the example value of the property
      • toDefaultValue

        public String toDefaultValue​(io.swagger.v3.oas.models.media.Schema schema)
        Return the default value of the property
        Overrides:
        toDefaultValue in class DefaultCodegenConfig
        Parameters:
        schema - Schema object
        Returns:
        string presentation of the default value of the property
      • getSchemaType

        public String getSchemaType​(io.swagger.v3.oas.models.media.Schema propertySchema)
        Description copied from class: DefaultCodegenConfig
        returns the swagger type for the property
        Overrides:
        getSchemaType in class DefaultCodegenConfig
        Parameters:
        propertySchema - Schema property object
        Returns:
        string presentation of the type
      • getRefSchemaTargetType

        protected String getRefSchemaTargetType​(io.swagger.v3.oas.models.media.Schema schema,
                                                String schemaType)
      • toInstantiationType

        public String toInstantiationType​(io.swagger.v3.oas.models.media.Schema schema)
        Description copied from class: DefaultCodegenConfig
        Return the instantiation type of the property, especially for map and array
        Overrides:
        toInstantiationType in class DefaultCodegenConfig
        Parameters:
        schema - Swagger property object
        Returns:
        string presentation of the instantiation type of the property
      • getTypeDeclaration

        public String getTypeDeclaration​(io.swagger.v3.oas.models.media.Schema propertySchema)
        Description copied from class: DefaultCodegenConfig
        Output the type declaration of the property
        Specified by:
        getTypeDeclaration in interface io.swagger.codegen.v3.CodegenConfig
        Overrides:
        getTypeDeclaration in class DefaultCodegenConfig
        Parameters:
        propertySchema - Schema Property object
        Returns:
        a string presentation of the property type
      • toModelName

        public String toModelName​(String name)
        Description copied from class: DefaultCodegenConfig
        Output the proper model name (capitalized). In case the name belongs to the TypeSystem it won't be renamed.
        Specified by:
        toModelName in interface io.swagger.codegen.v3.CodegenConfig
        Overrides:
        toModelName in class DefaultCodegenConfig
        Parameters:
        name - the name of the model
        Returns:
        capitalized model name
      • toApiTestFilename

        public String toApiTestFilename​(String name)
        Description copied from class: DefaultCodegenConfig
        Return the file name of the Api Test
        Specified by:
        toApiTestFilename in interface io.swagger.codegen.v3.CodegenConfig
        Overrides:
        toApiTestFilename in class DefaultCodegenConfig
        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: DefaultCodegenConfig
        Return the capitalized file name of the model test
        Specified by:
        toModelTestFilename in interface io.swagger.codegen.v3.CodegenConfig
        Overrides:
        toModelTestFilename in class DefaultCodegenConfig
        Parameters:
        name - the model name
        Returns:
        the file name of the model
      • setPackageName

        public void setPackageName​(String packageName)
      • setPackageVersion

        public void setPackageVersion​(String packageVersion)
      • setPackageTitle

        public void setPackageTitle​(String packageTitle)
      • setPackageProductName

        public void setPackageProductName​(String packageProductName)
      • setPackageDescription

        public void setPackageDescription​(String packageDescription)
      • setPackageCompany

        public void setPackageCompany​(String packageCompany)
      • setPackageCopyright

        public void setPackageCopyright​(String packageCopyright)
      • setPackageAuthors

        public void setPackageAuthors​(String packageAuthors)
      • setSourceFolder

        public void setSourceFolder​(String sourceFolder)
      • getInterfacePrefix

        public String getInterfacePrefix()
      • setInterfacePrefix

        public void setInterfacePrefix​(String interfacePrefix)
      • fromModel

        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)
        Description copied from class: DefaultCodegenConfig
        Convert Swagger Model object to Codegen Model object
        Specified by:
        fromModel in interface io.swagger.codegen.v3.CodegenConfig
        Overrides:
        fromModel in class DefaultCodegenConfig
        Parameters:
        name - the name of the model
        schema - Swagger Model object
        allDefinitions - a map of all Swagger models from the spec
        Returns:
        Codegen Model object
      • toEnumValue

        public String toEnumValue​(String value,
                                  String datatype)
        Description copied from class: DefaultCodegenConfig
        Return the enum value in the language specified format e.g. status becomes "status"
        Overrides:
        toEnumValue in class DefaultCodegenConfig
        Parameters:
        value - enum variable name
        datatype - data type
        Returns:
        the sanitized value for enum
      • toEnumName

        public String toEnumName​(io.swagger.codegen.v3.CodegenProperty property)
        Description copied from class: DefaultCodegenConfig
        Return the Enum name (e.g. StatusEnum given 'status')
        Overrides:
        toEnumName in class DefaultCodegenConfig
        Parameters:
        property - Codegen property
        Returns:
        the Enum name
      • testPackageName

        public String testPackageName()
      • isPreserveNewLines

        public boolean isPreserveNewLines()
      • setPreserveNewLines

        public void setPreserveNewLines​(boolean preserveNewLines)
      • preprocessOpenAPI

        public void preprocessOpenAPI​(io.swagger.v3.oas.models.OpenAPI openAPI)
        Specified by:
        preprocessOpenAPI in interface io.swagger.codegen.v3.CodegenConfig
        Overrides:
        preprocessOpenAPI in class DefaultCodegenConfig
      • preserveNewlines

        public String preserveNewlines​(String input,
                                       int tabstops)
      • escapeQuotationMark

        public String escapeQuotationMark​(String input)
        Description copied from class: DefaultCodegenConfig
        Escape single and/or double quote to avoid code injection
        Specified by:
        escapeQuotationMark in interface io.swagger.codegen.v3.CodegenConfig
        Overrides:
        escapeQuotationMark in class DefaultCodegenConfig
        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: DefaultCodegenConfig
        override with any special text escaping logic to handle unsafe characters so as to avoid code injection
        Specified by:
        escapeUnsafeCharacters in interface io.swagger.codegen.v3.CodegenConfig
        Overrides:
        escapeUnsafeCharacters in class DefaultCodegenConfig
        Parameters:
        input - String to be cleaned up
        Returns:
        string with unsafe characters removed or escaped
      • addHandlebarHelpers

        public void addHandlebarHelpers​(com.github.jknack.handlebars.Handlebars handlebars)
        Specified by:
        addHandlebarHelpers in interface io.swagger.codegen.v3.CodegenConfig
        Overrides:
        addHandlebarHelpers in class DefaultCodegenConfig
      • addCodegenContentParameters

        protected void addCodegenContentParameters​(io.swagger.codegen.v3.CodegenOperation codegenOperation,
                                                   List<io.swagger.codegen.v3.CodegenContent> codegenContents)
        Overrides:
        addCodegenContentParameters in class DefaultCodegenConfig
      • checkAliasModel

        public boolean checkAliasModel()