Class Swift5Codegen

  • All Implemented Interfaces:
    io.swagger.codegen.v3.CodegenConfig

    public class Swift5Codegen
    extends DefaultCodegenConfig
    • Constructor Detail

      • Swift5Codegen

        public Swift5Codegen()
        Constructor for the swift5 language codegen module.
    • Method Detail

      • getTag

        public io.swagger.codegen.v3.CodegenType getTag()
      • getName

        public String getName()
      • getHelp

        public String getHelp()
      • addAdditionPropertiesToCodeGenModel

        protected void addAdditionPropertiesToCodeGenModel​(io.swagger.codegen.v3.CodegenModel codegenModel,
                                                           io.swagger.v3.oas.models.media.Schema swaggerModel)
        Overrides:
        addAdditionPropertiesToCodeGenModel in class DefaultCodegenConfig
      • processOpts

        public void processOpts()
        Specified by:
        processOpts in interface io.swagger.codegen.v3.CodegenConfig
        Overrides:
        processOpts in class DefaultCodegenConfig
      • 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)
      • getTypeDeclaration

        public String getTypeDeclaration​(io.swagger.v3.oas.models.media.Schema prop)
        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:
        prop - Schema Property object
        Returns:
        a string presentation of the property type
      • getSchemaType

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

        public String toModelName​(String name)
        Output the proper model name (capitalized).
        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
      • toModelFilename

        public String toModelFilename​(String name)
        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
      • toDefaultValue

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

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

        public String toApiName​(String name)
        Description copied from class: DefaultCodegenConfig
        Output the API (class) name (capitalized) ending with "Api" Return DefaultApi if name is empty
        Specified by:
        toApiName in interface io.swagger.codegen.v3.CodegenConfig
        Overrides:
        toApiName in class DefaultCodegenConfig
        Parameters:
        name - the name of the Api
        Returns:
        capitalized Api name ending with "Api"
      • 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
      • fromModel

        public io.swagger.codegen.v3.CodegenModel fromModel​(String name,
                                                            io.swagger.v3.oas.models.media.Schema model,
                                                            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
        model - Swagger Model object
        allDefinitions - a map of all Swagger models from the spec
        Returns:
        Codegen Model object
      • updateCodegenModelEnumVars

        protected void updateCodegenModelEnumVars​(io.swagger.codegen.v3.CodegenModel codegenModel)
        Description copied from class: DefaultCodegenConfig
        update codegen property enum with proper naming convention and handling of numbers, special characters
        Overrides:
        updateCodegenModelEnumVars in class DefaultCodegenConfig
      • fromOperation

        public io.swagger.codegen.v3.CodegenOperation fromOperation​(String path,
                                                                    String httpMethod,
                                                                    io.swagger.v3.oas.models.Operation operation,
                                                                    Map<String,​io.swagger.v3.oas.models.media.Schema> definitions,
                                                                    io.swagger.v3.oas.models.OpenAPI openAPI)
        Description copied from class: DefaultCodegenConfig
        Convert Swagger Operation object to Codegen Operation object
        Specified by:
        fromOperation in interface io.swagger.codegen.v3.CodegenConfig
        Overrides:
        fromOperation in class DefaultCodegenConfig
        Parameters:
        path - the path of the operation
        httpMethod - HTTP method
        operation - Swagger operation object
        definitions - a map of schemas
        openAPI - a OpenAPI object representing the spec
        Returns:
        Codegen Operation object
      • setProjectName

        public void setProjectName​(String projectName)
      • setUnwrapRequired

        public void setUnwrapRequired​(boolean unwrapRequired)
      • setObjcCompatible

        public void setObjcCompatible​(boolean objcCompatible)
      • setLenientTypeCast

        public void setLenientTypeCast​(boolean lenientTypeCast)
      • setResponseAs

        public void setResponseAs​(String[] responseAs)
      • setSwiftUseApiNamespace

        public void setSwiftUseApiNamespace​(boolean swiftUseApiNamespace)
      • 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
      • 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
      • 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