com.vaadin.flow.server.connect.generator.

Class VaadinConnectTsGenerator

  • java.lang.Object
    • io.swagger.codegen.v3.generators.DefaultCodegenConfig
      • io.swagger.codegen.v3.generators.typescript.AbstractTypeScriptClientCodegen
        • com.vaadin.flow.server.connect.generator.VaadinConnectTsGenerator
  • All Implemented Interfaces:

    io.swagger.codegen.v3.CodegenConfig


    public class VaadinConnectTsGenerator
    extends io.swagger.codegen.v3.generators.typescript.AbstractTypeScriptClientCodegen

    Vaadin fusion JavaScript generator implementation for swagger-codegen. Some parts of the implementation are copied from io.swagger.codegen.languages.JavascriptClientCodegen

    • Field Summary

      Fields
      Modifier and Type Field and Description
      static String MODEL 
      static String MODEL_TS 
      static String OPTIONAL_SUFFIX 
      static String TS 
      • 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, DEFAULT_CONTENT_TYPE, DEFAULT_TEMPLATE_DIR, defaultIncludes, embeddedTemplateDir, ensureUniqueParams, fileSuffix, gitRepoId, gitUserId, hideGenerationTimestamp, httpUserAgent, ignoreFilePathOverride, importMapping, inputSpec, instantiationTypes, languageArguments, languageSpecificPrimitives, library, modelDocTemplateFiles, modelNamePrefix, modelNameSuffix, modelPackage, modelTemplateFiles, modelTestTemplateFiles, outputFolder, releaseNote, removeOperationIdPrefix, REQUEST_BODY_NAME, reservedWords, reservedWordsMappings, skipOverwrite, sortParamsByRequiredFlag, specialCharReplacements, supportedLibraries, supportingFiles, supportsInheritance, supportsMixins, templateDir, templateEngine, templateVersion, testPackage, typeAliases, typeMapping, useOas2, vendorExtensions
    • Method Summary

      All Methods
      Modifier and Type Method and Description
      void addHandlebarHelpers(com.github.jknack.handlebars.Handlebars handlebars) 
      protected 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, Map<String,io.swagger.v3.oas.models.media.Schema> schemas, Set<String> imports) 
      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) 
      static boolean launch(File openApiJsonFile, File generatedFrontendDirectory)

      Runs the code generation based on the data from the OpenAPI json.

      static boolean launch(File openApiJsonFile, File generatedFrontendDirectory, String defaultClientPath)

      Runs the code generation based on the data from the OpenAPI json.

      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, getSupportsES6, postProcessModels, processOpts, setModelPropertyNaming, setSupportsES6, toDefaultValue, toEnumDefaultValue, toEnumName, toEnumValue, toOperationId, toParamName, toVarName
      • Methods inherited from class io.swagger.codegen.v3.generators.DefaultCodegenConfig

        addAdditionPropertiesToCodeGenModel, addConsumesInfo, additionalProperties, addOperationToGroup, addProducesInfo, addProperties, addRegularExpressionDelimiter, apiDocFileFolder, apiDocFilename, apiDocTemplateFiles, apiFilename, apiPackage, apiTemplateFiles, apiTestFileFolder, apiTestFilename, apiTestTemplateFiles, buildLibraryCliOption, camelize, camelize, cliOptions, configureDataForTestTemplate, convertPropertyToBoolean, convertPropertyToBooleanAndWriteBack, dashize, defaultIncludes, detectParent, embeddedTemplateDir, escapeText, fileSuffix, findCommonPrefixOfVars, findMethodResponse, fromModel, fromOperation, fromParameter, fromProperty, fromResponse, fromSecurity, generateExamplePath, getAlias, getArgumentsLocation, getCollectionFormat, getCommonTemplateDir, getConsumesInfo, getContentType, getGitRepoId, getGitUserId, getHideGenerationTimestamp, getHttpUserAgent, getIgnoreFilePathOverride, getInnerEnumAllowableValues, getInputSpec, getLanguageArguments, getLibrary, getOrGenerateOperationId, getOutputDir, getParameterFromRef, getParentName, getProducesInfo, getReleaseNote, getSchemaFromBody, getSchemaFromResponse, getSimpleRef, getSortParamsByRequiredFlag, getSymbolName, getTemplateEngine, getTemplateVersion, getterAndSetterCapitalize, getTypeDeclaration, hasSchemaProperties, importMapping, initialCaps, instantiationTypes, isDataTypeBinary, isDataTypeFile, isPropertyInnerMostEnum, isRemoveOperationIdPrefix, isReservedWord, isSkipOverwrite, languageSpecificPrimitives, modelDocFileFolder, modelDocTemplateFiles, modelPackage, modelTemplateFiles, modelTestFileFolder, modelTestTemplateFiles, 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, setInputSpec, setLanguageArguments, setLibrary, setModelNamePrefix, setModelNameSuffix, setModelPackage, setNonArrayMapProperty, setOutputDir, setParameterBooleanFlagWithCodegenProperty, setParameterExampleValue, setReleaseNote, setRemoveOperationIdPrefix, setReservedWordsLowerCase, setSkipOverwrite, setSortParamsByRequiredFlag, setTemplateDir, setTemplateEngine, setTemplateVersion, 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

      • VaadinConnectTsGenerator

        public VaadinConnectTsGenerator()

        Create vaadin ts codegen instance.

    • Method Detail

      • launch

        public static boolean launch(File openApiJsonFile,
                                     File generatedFrontendDirectory)

        Runs the code generation based on the data from the OpenAPI json. Generates the target files in the directory specified, overwriting the files and creating the target directory, if necessary.

        Parameters:

        openApiJsonFile - the api spec file to analyze

        generatedFrontendDirectory - the directory to generateOpenApiSpec the files into

        Returns:

        true if any file was generated.

        See Also:

        OpenAPI specification

      • launch

        public static boolean launch(File openApiJsonFile,
                                     File generatedFrontendDirectory,
                                     String defaultClientPath)

        Runs the code generation based on the data from the OpenAPI json. Generates the target files in the directory specified, overwriting the files and creating the target directory, if necessary.

        Parameters:

        openApiJsonFile - the api spec file to analyze

        generatedFrontendDirectory - the directory to generateOpenApiSpec the files into

        defaultClientPath - the default client path which is imported in the generated files. If it is null, the default generate client path is used.

        Returns:

        true if any file was generated.

        See Also:

        OpenAPI specification

      • 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

      • 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

      • 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

      • 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

      • 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

      • 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

      • 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

      • 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

      • 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

      • 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

      • getSchemaType

        public String getSchemaType(io.swagger.v3.oas.models.media.Schema schema)

        Overrides:

        getSchemaType in class io.swagger.codegen.v3.generators.typescript.AbstractTypeScriptClientCodegen

      • 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

      • addImport

        protected void addImport(io.swagger.codegen.v3.CodegenModel m,
                                 String type)

        Overrides:

        addImport in class io.swagger.codegen.v3.generators.DefaultCodegenConfig

      • 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

      • 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

      • 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

      • fromRequestBody

        public io.swagger.codegen.v3.CodegenParameter fromRequestBody(io.swagger.v3.oas.models.parameters.RequestBody body,
                                                                      Map<String,io.swagger.v3.oas.models.media.Schema> schemas,
                                                                      Set<String> imports)

        Overrides:

        fromRequestBody in class io.swagger.codegen.v3.generators.DefaultCodegenConfig

      • 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

      • 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

      • getTemplateDir

        protected String getTemplateDir()

        Overrides:

        getTemplateDir in class io.swagger.codegen.v3.generators.DefaultCodegenConfig

      • getDefaultTemplateDir

        public String getDefaultTemplateDir()

        Specified by:

        getDefaultTemplateDir in class io.swagger.codegen.v3.generators.DefaultCodegenConfig

      • 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

      • toEnumVarName

        public String toEnumVarName(String name,
                                    String datatype)

        Overrides:

        toEnumVarName in class io.swagger.codegen.v3.generators.typescript.AbstractTypeScriptClientCodegen