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
-
-
Constructor Summary
Constructors Constructor and Description VaadinConnectTsGenerator()
Create vaadin ts codegen instance.
-
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
-
-
-
-
Field Detail
-
TS
public static final String TS
See Also:
-
MODEL
public static final String MODEL
See Also:
-
MODEL_TS
public static final String MODEL_TS
See Also:
-
OPTIONAL_SUFFIX
public static final String OPTIONAL_SUFFIX
See Also:
-
-
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 analyzegeneratedFrontendDirectory
- the directory to generateOpenApiSpec the files intoReturns:
true if any file was generated.
See Also:
-
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 analyzegeneratedFrontendDirectory
- the directory to generateOpenApiSpec the files intodefaultClientPath
- the default client path which is imported in the generated files. If it isnull
, the default generate client path is used.Returns:
true if any file was generated.
See Also:
-
getTag
public io.swagger.codegen.v3.CodegenType getTag()
Configures the type of generator.
Specified by:
getTag
in interfaceio.swagger.codegen.v3.CodegenConfig
Overrides:
getTag
in classio.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 interfaceio.swagger.codegen.v3.CodegenConfig
Overrides:
escapeReservedWord
in classio.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 interfaceio.swagger.codegen.v3.CodegenConfig
Overrides:
modelFileFolder
in classio.swagger.codegen.v3.generators.typescript.AbstractTypeScriptClientCodegen
-
toModelFilename
public String toModelFilename(String name)
Specified by:
toModelFilename
in interfaceio.swagger.codegen.v3.CodegenConfig
Overrides:
toModelFilename
in classio.swagger.codegen.v3.generators.typescript.AbstractTypeScriptClientCodegen
-
toModelName
public String toModelName(String name)
Specified by:
toModelName
in interfaceio.swagger.codegen.v3.CodegenConfig
Overrides:
toModelName
in classio.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 interfaceio.swagger.codegen.v3.CodegenConfig
Overrides:
apiFileFolder
in classio.swagger.codegen.v3.generators.typescript.AbstractTypeScriptClientCodegen
-
escapeUnsafeCharacters
public String escapeUnsafeCharacters(String input)
Specified by:
escapeUnsafeCharacters
in interfaceio.swagger.codegen.v3.CodegenConfig
Overrides:
escapeUnsafeCharacters
in classio.swagger.codegen.v3.generators.typescript.AbstractTypeScriptClientCodegen
-
escapeQuotationMark
public String escapeQuotationMark(String input)
Specified by:
escapeQuotationMark
in interfaceio.swagger.codegen.v3.CodegenConfig
Overrides:
escapeQuotationMark
in classio.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 interfaceio.swagger.codegen.v3.CodegenConfig
Overrides:
fromOperation
in classio.swagger.codegen.v3.generators.DefaultCodegenConfig
-
getSchemaType
public String getSchemaType(io.swagger.v3.oas.models.media.Schema schema)
Overrides:
getSchemaType
in classio.swagger.codegen.v3.generators.typescript.AbstractTypeScriptClientCodegen
-
postProcessOperations
public Map<String,Object> postProcessOperations(Map<String,Object> objs)
Specified by:
postProcessOperations
in interfaceio.swagger.codegen.v3.CodegenConfig
Overrides:
postProcessOperations
in classio.swagger.codegen.v3.generators.DefaultCodegenConfig
-
addImport
protected void addImport(io.swagger.codegen.v3.CodegenModel m, String type)
Overrides:
addImport
in classio.swagger.codegen.v3.generators.DefaultCodegenConfig
-
postProcessAllModels
public Map<String,Object> postProcessAllModels(Map<String,Object> processedModels)
Specified by:
postProcessAllModels
in interfaceio.swagger.codegen.v3.CodegenConfig
Overrides:
postProcessAllModels
in classio.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 interfaceio.swagger.codegen.v3.CodegenConfig
Overrides:
fromModel
in classio.swagger.codegen.v3.generators.DefaultCodegenConfig
-
preprocessOpenAPI
public void preprocessOpenAPI(io.swagger.v3.oas.models.OpenAPI openAPI)
Specified by:
preprocessOpenAPI
in interfaceio.swagger.codegen.v3.CodegenConfig
Overrides:
preprocessOpenAPI
in classio.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 classio.swagger.codegen.v3.generators.DefaultCodegenConfig
-
getTypeDeclaration
public String getTypeDeclaration(io.swagger.v3.oas.models.media.Schema schema)
Specified by:
getTypeDeclaration
in interfaceio.swagger.codegen.v3.CodegenConfig
Overrides:
getTypeDeclaration
in classio.swagger.codegen.v3.generators.typescript.AbstractTypeScriptClientCodegen
-
toApiName
public String toApiName(String name)
Specified by:
toApiName
in interfaceio.swagger.codegen.v3.CodegenConfig
Overrides:
toApiName
in classio.swagger.codegen.v3.generators.DefaultCodegenConfig
-
getTemplateDir
protected String getTemplateDir()
Overrides:
getTemplateDir
in classio.swagger.codegen.v3.generators.DefaultCodegenConfig
-
getDefaultTemplateDir
public String getDefaultTemplateDir()
Specified by:
getDefaultTemplateDir
in classio.swagger.codegen.v3.generators.DefaultCodegenConfig
-
addHandlebarHelpers
public void addHandlebarHelpers(com.github.jknack.handlebars.Handlebars handlebars)
Specified by:
addHandlebarHelpers
in interfaceio.swagger.codegen.v3.CodegenConfig
Overrides:
addHandlebarHelpers
in classio.swagger.codegen.v3.generators.DefaultCodegenConfig
-
-