Class CodeGenerator

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

    public class CodeGenerator
    extends io.swagger.codegen.v3.generators.typescript.AbstractTypeScriptClientCodegen
    Vaadin JavaScript generator implementation for swagger-codegen. Some parts of the implementation are copied from JavascriptClientCodegen
    • Field Summary

      • Fields inherited from class io.swagger.codegen.v3.generators.typescript.AbstractTypeScriptClientCodegen

        languageGenericTypes, modelPropertyNaming, supportsES6
      • Fields inherited from class io.swagger.codegen.v3.generators.DefaultCodegenConfig

        additionalProperties, allowUnicodeIdentifiers, apiDocTemplateFiles, apiPackage, apiTemplateFiles, apiTestTemplateFiles, cliOptions, commonTemplateDir, copyFistAllOfProperties, DEFAULT_CONTENT_TYPE, DEFAULT_TEMPLATE_DIR, defaultIncludes, embeddedTemplateDir, ensureUniqueParams, fileSuffix, gitRepoId, gitUserId, hideGenerationTimestamp, httpUserAgent, ignoreFilePathOverride, ignoreImportMapping, importMapping, inputSpec, inputURL, instantiationTypes, languageArguments, languageSpecificPrimitives, library, modelDocTemplateFiles, modelNamePrefix, modelNameSuffix, modelPackage, modelTemplateFiles, modelTestTemplateFiles, openAPI, outputFolder, releaseNote, removeOperationIdPrefix, REQUEST_BODY_NAME, reservedWords, reservedWordsMappings, skipOverwrite, sortParamsByRequiredFlag, specialCharReplacements, supportedLibraries, supportingFiles, supportsInheritance, supportsMixins, templateDir, templateEngine, templateVersion, testPackage, typeAliases, typeMapping, unflattenedOpenAPI, useOas2, vendorExtensions
    • Constructor Summary

      Constructors 
      Constructor Description
      CodeGenerator()
      Create vaadin ts codegen instance.
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void addHandlebarHelpers​(com.github.jknack.handlebars.Handlebars handlebars)  
      void addImport​(io.swagger.codegen.v3.CodegenModel m, String type)  
      String apiFileFolder()
      Location to write api files.
      String escapeQuotationMark​(String input)  
      String escapeReservedWord​(String name)
      Escapes a reserved word as defined in the `reservedWords` array.
      String escapeUnsafeCharacters​(String input)  
      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)  
      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> schemas, io.swagger.v3.oas.models.OpenAPI openAPI)  
      io.swagger.codegen.v3.CodegenParameter fromRequestBody​(io.swagger.v3.oas.models.parameters.RequestBody body, String name, io.swagger.v3.oas.models.media.Schema schema, Map<String,​io.swagger.v3.oas.models.media.Schema> schemas, Set<String> imports)  
      static Set<File> generateFiles​(io.swagger.codegen.v3.ClientOptInput input)
      Performs file generation on the specified input.
      String getDefaultTemplateDir()  
      String getHelp()
      Returns human-friendly help for the generator.
      String getName()
      Configures a friendly name for the generator.
      String getSchemaType​(io.swagger.v3.oas.models.media.Schema schema)  
      io.swagger.codegen.v3.CodegenType getTag()
      Configures the type of generator.
      protected String getTemplateDir()  
      String getTypeDeclaration​(io.swagger.v3.oas.models.media.Schema schema)  
      String modelFileFolder()
      Location to write model files.
      Map<String,​Object> postProcessAllModels​(Map<String,​Object> processedModels)  
      Map<String,​Object> postProcessOperations​(Map<String,​Object> objs)  
      void preprocessOpenAPI​(io.swagger.v3.oas.models.OpenAPI openAPI)  
      String toApiName​(String name)  
      String toEnumVarName​(String name, String datatype)  
      String toModelFilename​(String name)  
      String toModelName​(String name)  
      • Methods inherited from class io.swagger.codegen.v3.generators.typescript.AbstractTypeScriptClientCodegen

        getModelPropertyNaming, getNameUsingModelPropertyNaming, getSchemaHandler, getSupportsES6, postProcessModels, processOpts, setModelPropertyNaming, setSupportsES6, toDefaultValue, toEnumDefaultValue, toEnumName, toEnumValue, toOperationId, toParamName, toVarName
      • Methods inherited from class io.swagger.codegen.v3.generators.DefaultCodegenConfig

        addAdditionPropertiesToCodeGenModel, addCodegenContentParemeters, addConsumesInfo, addHasMore, additionalProperties, addOperationToGroup, addOption, addOption, addParemeters, addParentContainer, addProducesInfo, addProperties, addRegularExpressionDelimiter, addSwitch, apiDocFileFolder, apiDocFilename, apiDocTemplateFiles, apiFilename, apiPackage, apiTemplateFiles, apiTestFileFolder, apiTestFilename, apiTestTemplateFiles, buildLibraryCliOption, camelize, camelize, cliOptions, configureDataForTestTemplate, configuresParameterForMediaType, convertPropertyToBoolean, convertPropertyToBooleanAndWriteBack, dashize, defaultIgnoreImportMappingOption, defaultIncludes, detectParent, embeddedTemplateDir, ensureUniqueParameters, escapeText, fileSuffix, findCommonPrefixOfVars, findMethodResponse, fromModel, fromOperation, fromParameter, fromProperty, fromResponse, fromSecurity, generateExamplePath, getAlias, getArgumentsLocation, getCollectionFormat, getCommonTemplateDir, getConsumesInfo, getContentType, getGitRepoId, getGitUserId, getHideGenerationTimestamp, getHttpUserAgent, getIgnoreFilePathOverride, getIgnoreImportMapping, getInnerEnumAllowableValues, getInputSpec, getInputURL, getLanguageArguments, getLibrary, getOpenAPI, getOptionValue, getOrGenerateOperationId, getOutputDir, getParameterFromRef, getParentName, getProducesInfo, getReleaseNote, getSchemaFromBody, getSchemaFromResponse, getSortParamsByRequiredFlag, getSymbolName, getTemplateEngine, getTemplateVersion, getterAndSetterCapitalize, getTypeDeclaration, hasSchemaProperties, hasTrueAdditionalProperties, importMapping, initialCaps, instantiationTypes, isDataTypeBinary, isDataTypeFile, isObjectSchema, isPropertyInnerMostEnum, isRemoveOperationIdPrefix, isReservedWord, isSkipOverwrite, languageSpecificPrimitives, modelDocFileFolder, modelDocTemplateFiles, modelPackage, modelTemplateFiles, modelTestFileFolder, modelTestTemplateFiles, needsUnflattenedSpec, needToImport, outputFolder, postProcessModelProperty, postProcessModelsEnum, postProcessOperationsWithModels, postProcessParameter, postProcessSupportingFileData, processCompiler, processModelEnums, processOpenAPI, readLanguageArguments, removeNonNameElementToCamelCase, removeNonNameElementToCamelCase, reservedWords, reservedWordsMappings, sanitizeName, sanitizeTag, setAllowUnicodeIdentifiers, setApiPackage, setCommonTemplateDir, setEnsureUniqueParams, setGitRepoId, setGitUserId, setHideGenerationTimestamp, setHttpUserAgent, setIgnoreFilePathOverride, setIgnoreImportMapping, 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, toApiTestFilename, toApiVarName, toBooleanGetter, toDefaultValueWithParam, toExamples, toExampleValue, toGetter, toInstantiationType, toModelDocFilename, toModelImport, toModelTestFilename, toRegularExpression, toSetter, typeMapping, underscore, updateCodegenPropertyEnum, updateDataTypeWithEnumForArray, updateDataTypeWithEnumForMap, updatePropertyForArray, updatePropertyForMap, vendorExtensions, writeOptional, writePropertyBack
    • Constructor Detail

      • CodeGenerator

        public CodeGenerator()
        Create vaadin ts codegen instance.
    • Method Detail

      • generateFiles

        public static Set<File> generateFiles​(io.swagger.codegen.v3.ClientOptInput input)
        Performs file generation on the specified input.
        Parameters:
        input - input options.
        Returns:
        a set of generated files.
      • addHandlebarHelpers

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

        public String apiFileFolder()
        Location to write api files. You can use the apiPackage() as defined when the class is instantiated
        Specified by:
        apiFileFolder in interface io.swagger.codegen.v3.CodegenConfig
        Overrides:
        apiFileFolder in class io.swagger.codegen.v3.generators.typescript.AbstractTypeScriptClientCodegen
      • escapeQuotationMark

        public String escapeQuotationMark​(String input)
        Specified by:
        escapeQuotationMark in interface io.swagger.codegen.v3.CodegenConfig
        Overrides:
        escapeQuotationMark in class io.swagger.codegen.v3.generators.typescript.AbstractTypeScriptClientCodegen
      • escapeReservedWord

        public String escapeReservedWord​(String name)
        Escapes a reserved word as defined in the `reservedWords` array. Handle escaping those terms here. This logic is only called if a variable matches the reserved words
        Specified by:
        escapeReservedWord in interface io.swagger.codegen.v3.CodegenConfig
        Overrides:
        escapeReservedWord in class io.swagger.codegen.v3.generators.typescript.AbstractTypeScriptClientCodegen
        Returns:
        the escaped term
      • escapeUnsafeCharacters

        public String escapeUnsafeCharacters​(String input)
        Specified by:
        escapeUnsafeCharacters in interface io.swagger.codegen.v3.CodegenConfig
        Overrides:
        escapeUnsafeCharacters in class io.swagger.codegen.v3.generators.typescript.AbstractTypeScriptClientCodegen
      • 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)
        Specified by:
        fromModel in interface io.swagger.codegen.v3.CodegenConfig
        Overrides:
        fromModel in class io.swagger.codegen.v3.generators.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> schemas,
                                                                    io.swagger.v3.oas.models.OpenAPI openAPI)
        Specified by:
        fromOperation in interface io.swagger.codegen.v3.CodegenConfig
        Overrides:
        fromOperation in class io.swagger.codegen.v3.generators.DefaultCodegenConfig
      • fromRequestBody

        public io.swagger.codegen.v3.CodegenParameter fromRequestBody​(io.swagger.v3.oas.models.parameters.RequestBody body,
                                                                      String name,
                                                                      io.swagger.v3.oas.models.media.Schema schema,
                                                                      Map<String,​io.swagger.v3.oas.models.media.Schema> schemas,
                                                                      Set<String> imports)
        Overrides:
        fromRequestBody in class io.swagger.codegen.v3.generators.DefaultCodegenConfig
      • getDefaultTemplateDir

        public String getDefaultTemplateDir()
        Specified by:
        getDefaultTemplateDir in class io.swagger.codegen.v3.generators.DefaultCodegenConfig
      • getHelp

        public String getHelp()
        Returns human-friendly help for the generator. Provide the consumer with help tips, parameters here
        Returns:
        A string value for the help message
      • getName

        public String getName()
        Configures a friendly name for the generator. This will be used by the generator to select the library with the -l flag.
        Returns:
        the friendly name for the generator
      • getSchemaType

        public String getSchemaType​(io.swagger.v3.oas.models.media.Schema schema)
        Overrides:
        getSchemaType in class io.swagger.codegen.v3.generators.typescript.AbstractTypeScriptClientCodegen
      • getTag

        public io.swagger.codegen.v3.CodegenType getTag()
        Configures the type of generator.
        Specified by:
        getTag in interface io.swagger.codegen.v3.CodegenConfig
        Overrides:
        getTag in class io.swagger.codegen.v3.generators.typescript.AbstractTypeScriptClientCodegen
        Returns:
        the CodegenType for this generator
        See Also:
        CodegenType
      • getTypeDeclaration

        public String getTypeDeclaration​(io.swagger.v3.oas.models.media.Schema schema)
        Specified by:
        getTypeDeclaration in interface io.swagger.codegen.v3.CodegenConfig
        Overrides:
        getTypeDeclaration in class io.swagger.codegen.v3.generators.typescript.AbstractTypeScriptClientCodegen
      • modelFileFolder

        public String modelFileFolder()
        Location to write model files. You can use the modelPackage() as defined when the class is instantiated
        Specified by:
        modelFileFolder in interface io.swagger.codegen.v3.CodegenConfig
        Overrides:
        modelFileFolder in class io.swagger.codegen.v3.generators.typescript.AbstractTypeScriptClientCodegen
      • postProcessAllModels

        public Map<String,​Object> postProcessAllModels​(Map<String,​Object> processedModels)
        Specified by:
        postProcessAllModels in interface io.swagger.codegen.v3.CodegenConfig
        Overrides:
        postProcessAllModels in class io.swagger.codegen.v3.generators.DefaultCodegenConfig
      • postProcessOperations

        public Map<String,​Object> postProcessOperations​(Map<String,​Object> objs)
        Specified by:
        postProcessOperations in interface io.swagger.codegen.v3.CodegenConfig
        Overrides:
        postProcessOperations in class io.swagger.codegen.v3.generators.DefaultCodegenConfig
      • 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 io.swagger.codegen.v3.generators.DefaultCodegenConfig
      • toApiName

        public String toApiName​(String name)
        Specified by:
        toApiName in interface io.swagger.codegen.v3.CodegenConfig
        Overrides:
        toApiName in class io.swagger.codegen.v3.generators.DefaultCodegenConfig
      • toEnumVarName

        public String toEnumVarName​(String name,
                                    String datatype)
        Overrides:
        toEnumVarName in class io.swagger.codegen.v3.generators.typescript.AbstractTypeScriptClientCodegen
      • toModelFilename

        public String toModelFilename​(String name)
        Specified by:
        toModelFilename in interface io.swagger.codegen.v3.CodegenConfig
        Overrides:
        toModelFilename in class io.swagger.codegen.v3.generators.typescript.AbstractTypeScriptClientCodegen
      • toModelName

        public String toModelName​(String name)
        Specified by:
        toModelName in interface io.swagger.codegen.v3.CodegenConfig
        Overrides:
        toModelName in class io.swagger.codegen.v3.generators.typescript.AbstractTypeScriptClientCodegen
      • addImport

        public void addImport​(io.swagger.codegen.v3.CodegenModel m,
                              String type)
        Overrides:
        addImport in class io.swagger.codegen.v3.generators.typescript.AbstractTypeScriptClientCodegen
      • getTemplateDir

        protected String getTemplateDir()
        Overrides:
        getTemplateDir in class io.swagger.codegen.v3.generators.DefaultCodegenConfig