Class CppRestbedServerCodegen
- java.lang.Object
-
- org.openapitools.codegen.DefaultCodegen
-
- org.openapitools.codegen.languages.AbstractCppCodegen
-
- org.openapitools.codegen.languages.CppRestbedServerCodegen
-
- All Implemented Interfaces:
CodegenConfig
public class CppRestbedServerCodegen extends AbstractCppCodegen
-
-
Field Summary
Fields Modifier and Type Field Description protected Stringdeclspecstatic StringDECLSPECstatic StringDEFAULT_INCLUDEprotected StringdefaultIncludeprotected StringpackageVersion-
Fields inherited from class org.openapitools.codegen.languages.AbstractCppCodegen
RESERVED_WORD_PREFIX_DESC, RESERVED_WORD_PREFIX_OPTION, reservedWordPrefix, VARIABLE_NAME_FIRST_CHARACTER_UPPERCASE_DESC, VARIABLE_NAME_FIRST_CHARACTER_UPPERCASE_OPTION, variableNameFirstCharacterUppercase
-
Fields inherited from class org.openapitools.codegen.DefaultCodegen
additionalProperties, addOneOfInterfaceImports, addOneOfInterfaces, addSuffixToDuplicateOperationNicknames, allowUnicodeIdentifiers, apiDocTemplateFiles, apiNamePrefix, apiNameSuffix, apiPackage, apiTemplateFiles, apiTestTemplateFiles, cliOptions, DefaultFeatureSet, defaultIncludes, disallowAdditionalPropertiesIfNotPresent, docExtension, embeddedTemplateDir, enableMinimalUpdate, enablePostProcessFile, ensureUniqueParams, enumUnknownDefaultCase, enumUnknownDefaultCaseName, falseSchema, filesMetadataFilename, fileSuffix, generatorMetadata, gitHost, gitRepoId, gitUserId, hideGenerationTimestamp, httpUserAgent, ignoreFilePathOverride, importBaseType, importContainerType, importMapping, inlineSchemaNameMapping, inlineSchemaOption, inputSpec, instantiationTypes, JSON_MIME_PATTERN, JSON_VENDOR_MIME_PATTERN, languageSpecificPrimitives, legacyDiscriminatorBehavior, library, loadDeepObjectIntoItems, modelDocTemplateFiles, modelNameMapping, modelNamePrefix, modelNameSuffix, modelPackage, modelTemplateFiles, modelTestTemplateFiles, nameMapping, openAPI, openapiNormalizer, outputFolder, parameterNameMapping, prependFormOrBodyParameters, releaseNote, removeEnumValuePrefix, removeOperationIdPrefix, removeOperationIdPrefixCount, removeOperationIdPrefixDelimiter, reservedWords, reservedWordsMappings, schemaMapping, serverVariables, skipOperationExample, skipOverwrite, sortModelPropertiesByRequiredFlag, sortParamsByRequiredFlag, specialCharReplacements, strictSpecBehavior, supportedLibraries, supportingFiles, supportsAdditionalPropertiesWithComposedSchema, supportsInheritance, supportsMixins, supportsMultipleInheritance, templateDir, testPackage, trueSchema, typeAliases, typeMapping, useOneOfInterfaces, vendorExtensions, versionMetadataFilename, XML_MIME_PATTERN
-
-
Constructor Summary
Constructors Constructor Description CppRestbedServerCodegen()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description StringapiFileFolder()Location to write api files.CodegenModelfromModel(String name, io.swagger.v3.oas.models.media.Schema model)Convert OAS Model object to Codegen Model object.StringgetHelp()Returns human-friendly help for the generator.StringgetName()Configures a friendly name for the generator.StringgetSchemaType(io.swagger.v3.oas.models.media.Schema p)Optional - OpenAPI type conversion.CodegenTypegetTag()Configures the type of generator.StringgetterAndSetterCapitalize(String name)Camelize the method name of the getter and setter, but keep underscores at the frontStringgetTypeDeclaration(io.swagger.v3.oas.models.media.Schema p)Optional - type declaration.StringgetTypeDeclaration(String str)Output the language-specific type declaration of a given OAS name.StringmodelFileFolder()Location to write model files.OperationsMappostProcessOperationsWithModels(OperationsMap objs, List<ModelMap> allModels)voidpostProcessParameter(CodegenParameter parameter)voidprocessOpts()StringtoApiFilename(String name)Return the file name of the Api TestStringtoDefaultValue(io.swagger.v3.oas.models.media.Schema p)Return the default value of the propertyStringtoModelFilename(String name)Return the capitalized file name of the modelStringtoModelImport(String name)Return the fully-qualified "Model" name for importMap<String,ModelsMap>updateAllModels(Map<String,ModelsMap> objs)Loop through all models to update different flags (e.g.voidupdateCodegenPropertyEnum(CodegenProperty var)Update codegen property's enum by adding "enumVars" (with name and value)-
Methods inherited from class org.openapitools.codegen.languages.AbstractCppCodegen
addMustacheLambdas, escapeQuotationMark, escapeReservedWord, escapeUnsafeCharacters, fromProperty, generatorLanguage, postProcessAllModels, postProcessFile, postProcessModels, preprocessOpenAPI, sanitizeName, toApiName, toBooleanGetter, toEnumValue, toModelName, toOperationId, toParamName, toVarName
-
Methods inherited from class org.openapitools.codegen.DefaultCodegen
addAdditionPropertiesToCodeGenModel, addBodyModelSchema, addHeaders, addImport, addImport, addImport, addImports, addImports, addImports, addImportsForPropertyType, addImportsToOneOfInterface, additionalProperties, addOneOfInterfaceModel, addOneOfNameExtension, addOperationToGroup, addOption, addOption, addParentContainer, addProperties, addRegularExpressionDelimiter, addRequiredVarsMap, addSwitch, addVars, addVars, addVarsRequiredVarsAdditionalProps, apiDocFileFolder, apiDocFilename, apiDocTemplateFiles, apiFilename, apiPackage, apiTemplateFiles, apiTestFileFolder, apiTestFilename, apiTestTemplateFiles, buildEnumVars, buildLibraryCliOption, cliOptions, convertPropertyToBoolean, convertPropertyToBooleanAndWriteBack, createDiscriminator, defaultIncludes, defaultTemplatingEngine, embeddedTemplateDir, encodePath, escapeText, escapeTextWhileAllowingNewLines, fileSuffix, findCommonPrefixOfVars, findMethodResponse, fromCallback, fromFormProperty, fromOperation, fromParameter, fromProperty, fromProperty, fromRequestBody, fromRequestBodyToFormParameters, fromResponse, fromSecurity, fromServers, fromServerVariables, generateExamplePath, generateJSONSpecFile, generateYAMLSpecFile, generatorLanguageVersion, getAdditionalPropertiesName, getAddSuffixToDuplicateOperationNicknames, getAlias, getAllModels, getAllOfDescendants, getAllowUnicodeIdentifiers, getApiNamePrefix, getApiNameSuffix, getCollectionFormat, getCollectionFormat, getConsumesInfo, getContent, getContentType, getDisallowAdditionalPropertiesIfNotPresent, getDocExtension, getEnsureUniqueParams, getEnumDefaultValue, getEnumUnknownDefaultCase, getFeatureSet, getFilesMetadataFilename, getGeneratorMetadata, getGitHost, getGitRepoId, getGitUserId, getHttpUserAgent, getIgnoreFilePathOverride, getInnerEnumAllowableValues, getInputSpec, getItemsName, getLegacyDiscriminatorBehavior, getLibrary, getModelNamePrefix, getModelNameSuffix, getModelNameToSchemaCache, getMostInnerItems, getOneOfAnyOfDescendants, getOrGenerateOperationId, getOutputDir, getParameterDataType, getPrependFormOrBodyParameters, getProducesInfo, getReleaseNote, getRemoveOperationIdPrefixCount, getRemoveOperationIdPrefixDelimiter, getSchemaAdditionalProperties, getSchemaFromBooleanOrSchema, getSchemaItems, getSingleSchemaType, getSortModelPropertiesByRequiredFlag, getSortParamsByRequiredFlag, getSupportedVendorExtensions, getSymbolName, getTemplatingEngine, getUseInlineModelResolver, getUseOneOfInterfaces, getUseOpenAPINormalizer, getVersionMetadataFilename, handleMethodResponse, handleMethodResponse, handleSpecialCharacters, hasBodyParameter, hasFormParameter, importMapping, initializeSpecialCharacterMapping, inlineSchemaNameMapping, inlineSchemaOption, instantiationTypes, isAnyTypeSchema, isDataTypeBinary, isDataTypeFile, isDataTypeString, isEnableMinimalUpdate, isEnablePostProcessFile, isHideGenerationTimestamp, isJsonMimeType, isJsonVendorMimeType, isLibrary, isParameterNameUnique, isPropertyInnerMostEnum, isRemoveEnumValuePrefix, isRemoveOperationIdPrefix, isReservedWord, isSkipOperationExample, isSkipOverwrite, isStrictSpecBehavior, isXmlMimeType, languageSpecificPrimitives, lowerCamelCase, modelDocFileFolder, modelDocTemplateFiles, modelFilename, modelNameMapping, modelPackage, modelTemplateFiles, modelTestFileFolder, modelTestTemplateFiles, modifyFeatureSet, nameMapping, needToImport, openapiNormalizer, outputFolder, parameterNameMapping, postProcess, postProcessModelProperty, postProcessModelsEnum, postProcessSupportingFileData, processCompiler, processOpenAPI, processTemplatingEngine, processTestExampleData, removeImport, removeNonNameElementToCamelCase, removeNonNameElementToCamelCase, removeOption, removeSelfReferenceImports, reservedWords, reservedWordsMappings, sanitizeName, sanitizeName, sanitizeTag, schemaMapping, serverVariableOverrides, setAddProps, setAllowUnicodeIdentifiers, setApiNamePrefix, setApiNameSuffix, setApiPackage, setCircularReferences, setDisallowAdditionalPropertiesIfNotPresent, setDocExtension, setEnableMinimalUpdate, setEnablePostProcessFile, setEnsureUniqueParams, setEnumUnknownDefaultCase, setFilesMetadataFilename, setGitHost, setGitRepoId, setGitUserId, setHideGenerationTimestamp, setHttpUserAgent, setIgnoreFilePathOverride, setInputSpec, setLegacyDiscriminatorBehavior, setLibrary, setModelNamePrefix, setModelNameSuffix, setModelPackage, setNonArrayMapProperty, setOpenAPI, setOutputDir, setParameterBooleanFlagWithCodegenProperty, setParameterEncodingValues, setParameterExamples, setParameterExampleValue, setParameterExampleValue, setParameterExampleValue, setParameterNullable, setPrependFormOrBodyParameters, setReleaseNote, setRemoveEnumValuePrefix, setRemoveOperationIdPrefix, setRemoveOperationIdPrefixCount, setRemoveOperationIdPrefixDelimiter, setReservedWordsLowerCase, setSkipOperationExample, setSkipOverwrite, setSortModelPropertiesByRequiredFlag, setSortParamsByRequiredFlag, setStrictSpecBehavior, setTemplateDir, setTemplatingEngine, setUseOneOfInterfaces, setVersionMetadataFilename, shouldAddImport, shouldOverwrite, supportedLibraries, supportingFiles, templateDir, testPackage, toAllOfName, toAnyOfName, toApiDocFilename, toApiImport, toApiTestFilename, toApiVarName, toArrayModelParamName, toDefaultParameterValue, toDefaultParameterValue, toDefaultValue, toDefaultValueWithParam, toEnumDefaultValue, toEnumName, toEnumVarName, toExamples, toExampleValue, toGetter, toInstantiationType, toMediaTypeSchemaName, toModelDocFilename, toModelImportMap, toModelTestFilename, toOneOfName, toRegularExpression, toSetter, toTestCaseName, typeMapping, unaliasPropertySchema, unaliasSchema, updateDataTypeWithEnumForArray, updateDataTypeWithEnumForMap, updateEnumVarsWithExtensions, updateModelForAnyType, updateModelForComposedSchema, updateModelForInteger, updateModelForNumber, updateModelForObject, updateModelForString, updateOption, updateParameterForString, updatePropertyForAnyType, updatePropertyForArray, updatePropertyForInteger, updatePropertyForMap, updatePropertyForMap, updatePropertyForNumber, updatePropertyForObject, updatePropertyForString, updateRequestBodyForArray, updateRequestBodyForMap, updateRequestBodyForObject, updateRequestBodyForPrimitiveType, updateRequestBodyForString, vendorExtensions, writePropertyBack
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.openapitools.codegen.CodegenConfig
additionalProperties, addOperationToGroup, apiDocFileFolder, apiDocFilename, apiDocTemplateFiles, apiFilename, apiPackage, apiTemplateFiles, apiTestFileFolder, apiTestFilename, apiTestTemplateFiles, cliOptions, defaultIncludes, defaultTemplatingEngine, embeddedTemplateDir, encodePath, escapeText, escapeTextWhileAllowingNewLines, fileSuffix, fromOperation, fromSecurity, fromServers, fromServerVariables, generateExamplePath, generatorLanguageVersion, getAddSuffixToDuplicateOperationNicknames, getDocExtension, getFeatureSet, getFilesMetadataFilename, getGeneratorMetadata, getGitHost, getGitRepoId, getGitUserId, getHttpUserAgent, getIgnoreFilePathOverride, getInputSpec, getLibrary, getOutputDir, getReleaseNote, getSupportedVendorExtensions, getTemplatingEngine, getUseInlineModelResolver, getUseOpenAPINormalizer, getVersionMetadataFilename, importMapping, inlineSchemaNameMapping, inlineSchemaOption, instantiationTypes, isEnableMinimalUpdate, isEnablePostProcessFile, isHideGenerationTimestamp, isRemoveEnumValuePrefix, isRemoveOperationIdPrefix, isSkipOperationExample, isSkipOverwrite, isStrictSpecBehavior, languageSpecificPrimitives, modelDocFileFolder, modelDocTemplateFiles, modelFilename, modelNameMapping, modelPackage, modelTemplateFiles, modelTestFileFolder, modelTestTemplateFiles, nameMapping, openapiNormalizer, outputFolder, parameterNameMapping, postProcess, postProcessModelProperty, postProcessSupportingFileData, processCompiler, processOpenAPI, processTemplatingEngine, reservedWords, reservedWordsMappings, sanitizeTag, schemaMapping, serverVariableOverrides, setDocExtension, setEnableMinimalUpdate, setEnablePostProcessFile, setGitHost, setGitRepoId, setGitUserId, setHideGenerationTimestamp, setHttpUserAgent, setIgnoreFilePathOverride, setInputSpec, setLibrary, setOpenAPI, setOutputDir, setReleaseNote, setRemoveEnumValuePrefix, setRemoveOperationIdPrefix, setSkipOperationExample, setSkipOverwrite, setStrictSpecBehavior, setTemplatingEngine, shouldOverwrite, supportedLibraries, supportingFiles, templateDir, testPackage, toApiDocFilename, toApiImport, toApiTestFilename, toApiVarName, toGetter, toModelDocFilename, toModelImportMap, toModelTestFilename, toSetter, typeMapping, unaliasSchema, vendorExtensions
-
-
-
-
Field Detail
-
DECLSPEC
public static final String DECLSPEC
- See Also:
- Constant Field Values
-
DEFAULT_INCLUDE
public static final String DEFAULT_INCLUDE
- See Also:
- Constant Field Values
-
packageVersion
protected String packageVersion
-
declspec
protected String declspec
-
defaultInclude
protected String defaultInclude
-
-
Method Detail
-
updateAllModels
public Map<String,ModelsMap> updateAllModels(Map<String,ModelsMap> objs)
Description copied from class:DefaultCodegenLoop through all models to update different flags (e.g. isSelfReference), children models, etc and update mapped models for import.- Specified by:
updateAllModelsin interfaceCodegenConfig- Overrides:
updateAllModelsin classDefaultCodegen- Parameters:
objs- Map of models- Returns:
- maps of models with various updates
-
getterAndSetterCapitalize
public String getterAndSetterCapitalize(String name)
Camelize the method name of the getter and setter, but keep underscores at the front- Overrides:
getterAndSetterCapitalizein classDefaultCodegen- Parameters:
name- string to be camelized- Returns:
- Camelized string
-
getTag
public CodegenType getTag()
Configures the type of generator.- Specified by:
getTagin interfaceCodegenConfig- Overrides:
getTagin classDefaultCodegen- Returns:
- the CodegenType for this generator
-
getName
public String getName()
Configures a friendly name for the generator. This will be used by the generator to select the library with the -g flag.- Specified by:
getNamein interfaceCodegenConfig- Overrides:
getNamein classDefaultCodegen- 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- Specified by:
getHelpin interfaceCodegenConfig- Overrides:
getHelpin classDefaultCodegen- Returns:
- A string value for the help message
-
getTypeDeclaration
public String getTypeDeclaration(String str)
Description copied from class:DefaultCodegenOutput the language-specific type declaration of a given OAS name.- Specified by:
getTypeDeclarationin interfaceCodegenConfig- Overrides:
getTypeDeclarationin classAbstractCppCodegen- Parameters:
str- name- Returns:
- a string presentation of the type
-
processOpts
public void processOpts()
- Specified by:
processOptsin interfaceCodegenConfig- Overrides:
processOptsin classAbstractCppCodegen
-
modelFileFolder
public String modelFileFolder()
Location to write model files. You can use the modelPackage() as defined when the class is instantiated- Specified by:
modelFileFolderin interfaceCodegenConfig- Overrides:
modelFileFolderin classDefaultCodegen
-
apiFileFolder
public String apiFileFolder()
Location to write api files. You can use the apiPackage() as defined when the class is instantiated- Specified by:
apiFileFolderin interfaceCodegenConfig- Overrides:
apiFileFolderin classDefaultCodegen
-
toModelImport
public String toModelImport(String name)
Description copied from class:DefaultCodegenReturn the fully-qualified "Model" name for import- Specified by:
toModelImportin interfaceCodegenConfig- Overrides:
toModelImportin classDefaultCodegen- Parameters:
name- the name of the "Model"- Returns:
- the fully-qualified "Model" name for import
-
fromModel
public CodegenModel fromModel(String name, io.swagger.v3.oas.models.media.Schema model)
Description copied from class:DefaultCodegenConvert OAS Model object to Codegen Model object.- Specified by:
fromModelin interfaceCodegenConfig- Overrides:
fromModelin classDefaultCodegen- Parameters:
name- the name of the modelmodel- OAS Model object- Returns:
- Codegen Model object
-
toModelFilename
public String toModelFilename(String name)
Description copied from class:DefaultCodegenReturn the capitalized file name of the model- Specified by:
toModelFilenamein interfaceCodegenConfig- Overrides:
toModelFilenamein classDefaultCodegen- Parameters:
name- the model name- Returns:
- the file name of the model
-
toApiFilename
public String toApiFilename(String name)
Description copied from class:DefaultCodegenReturn the file name of the Api Test- Specified by:
toApiFilenamein interfaceCodegenConfig- Overrides:
toApiFilenamein classDefaultCodegen- Parameters:
name- the file name of the Api- Returns:
- the file name of the Api
-
postProcessOperationsWithModels
public OperationsMap postProcessOperationsWithModels(OperationsMap objs, List<ModelMap> allModels)
- Specified by:
postProcessOperationsWithModelsin interfaceCodegenConfig- Overrides:
postProcessOperationsWithModelsin classDefaultCodegen
-
getTypeDeclaration
public String getTypeDeclaration(io.swagger.v3.oas.models.media.Schema p)
Optional - type declaration. This is a String which is used by the templates to instantiate your types. There is typically special handling for different property types- Specified by:
getTypeDeclarationin interfaceCodegenConfig- Overrides:
getTypeDeclarationin classDefaultCodegen- Parameters:
p- property schema- Returns:
- a string value used as the `dataType` field for model templates, `returnType` for api templates
-
toDefaultValue
public String toDefaultValue(io.swagger.v3.oas.models.media.Schema p)
Description copied from class:DefaultCodegenReturn the default value of the propertyThis method should be overridden in the generator to meet its requirement. Return null if you do NOT want a default value. Any non-null value will cause {{#defaultValue} check to pass.
- Overrides:
toDefaultValuein classDefaultCodegen- Parameters:
p- Property schema- Returns:
- string presentation of the default value of the property
-
postProcessParameter
public void postProcessParameter(CodegenParameter parameter)
- Specified by:
postProcessParameterin interfaceCodegenConfig- Overrides:
postProcessParameterin classDefaultCodegen
-
getSchemaType
public String getSchemaType(io.swagger.v3.oas.models.media.Schema p)
Optional - OpenAPI type conversion. This is used to map OpenAPI types in a `Schema` into either language specific types via `typeMapping` or into complex models if there is not a mapping.- Overrides:
getSchemaTypein classDefaultCodegen- Parameters:
p- property schema- Returns:
- a string value of the type or complex model for this property
-
updateCodegenPropertyEnum
public void updateCodegenPropertyEnum(CodegenProperty var)
Description copied from class:DefaultCodegenUpdate codegen property's enum by adding "enumVars" (with name and value)- Overrides:
updateCodegenPropertyEnumin classDefaultCodegen- Parameters:
var- list of CodegenProperty
-
-