public abstract class AbstractCppCodegen extends DefaultCodegen implements CodegenConfig
| Modifier and Type | Field and Description |
|---|---|
protected static String |
RESERVED_WORD_PREFIX_DESC |
protected static String |
RESERVED_WORD_PREFIX_OPTION |
protected String |
reservedWordPrefix |
protected static String |
VARIABLE_NAME_FIRST_CHARACTER_UPPERCASE_DESC |
protected static String |
VARIABLE_NAME_FIRST_CHARACTER_UPPERCASE_OPTION |
protected boolean |
variableNameFirstCharacterUppercase |
additionalProperties, addOneOfInterfaceImports, addOneOfInterfaces, allowUnicodeIdentifiers, apiDocTemplateFiles, apiNamePrefix, apiNameSuffix, apiPackage, apiTemplateFiles, apiTestTemplateFiles, cliOptions, DefaultFeatureSet, defaultIncludes, disallowAdditionalPropertiesIfNotPresent, docExtension, embeddedTemplateDir, enableMinimalUpdate, enablePostProcessFile, ensureUniqueParams, fileSuffix, generatorMetadata, gitHost, gitRepoId, gitUserId, hideGenerationTimestamp, httpUserAgent, ignoreFilePathOverride, importMapping, inputSpec, instantiationTypes, JSON_MIME_PATTERN, JSON_VENDOR_MIME_PATTERN, languageSpecificPrimitives, legacyDiscriminatorBehavior, library, modelDocTemplateFiles, modelNamePrefix, modelNameSuffix, modelPackage, modelTemplateFiles, modelTestTemplateFiles, openAPI, outputFolder, prependFormOrBodyParameters, releaseNote, removeEnumValuePrefix, removeOperationIdPrefix, reservedWords, reservedWordsMappings, serverVariables, skipOverwrite, sortModelPropertiesByRequiredFlag, sortParamsByRequiredFlag, specialCharReplacements, strictSpecBehavior, supportedLibraries, supportingFiles, supportsAdditionalPropertiesWithComposedSchema, supportsInheritance, supportsMixins, supportsMultipleInheritance, templateDir, testPackage, typeAliases, typeMapping, useOneOfInterfaces, vendorExtensions| Constructor and Description |
|---|
AbstractCppCodegen() |
| Modifier and Type | Method and Description |
|---|---|
protected com.google.common.collect.ImmutableMap.Builder<String,com.samskivert.mustache.Mustache.Lambda> |
addMustacheLambdas()
Preset map builder with commonly used Mustache lambdas.
|
String |
escapeQuotationMark(String input)
Escape single and/or double quote to avoid code injection
|
String |
escapeReservedWord(String name)
Escapes a reserved word as defined in the `reservedWords` array.
|
String |
escapeUnsafeCharacters(String input)
override with any special text escaping logic to handle unsafe
characters so as to avoid code injection
|
CodegenProperty |
fromProperty(String name,
io.swagger.v3.oas.models.media.Schema p)
Convert OAS Property object to Codegen Property object.
|
String |
getTypeDeclaration(String str)
Output the language-specific type declaration of a given OAS name.
|
Map<String,Object> |
postProcessAllModels(Map<String,Object> objs) |
void |
postProcessFile(File file,
String fileType)
Post-process the auto-generated file, e.g.
|
Map<String,Object> |
postProcessModels(Map<String,Object> objs) |
void |
preprocessOpenAPI(io.swagger.v3.oas.models.OpenAPI openAPI) |
void |
processOpts() |
String |
toApiName(String type)
Output the API (class) name (capitalized) ending with the specified or default suffix
Return DefaultApi if name is empty
|
String |
toBooleanGetter(String name)
Output the Getter name for boolean property, e.g.
|
String |
toModelName(String type)
Converts the OpenAPI schema name to a model name suitable for the current code generator.
|
String |
toOperationId(String operationId)
Return the operation ID (method name)
|
String |
toParamName(String name)
Return the parameter name by removing invalid characters and proper escaping if
it's a reserved word.
|
String |
toVarName(String name)
Return the variable name by removing invalid characters and proper escaping if
it's a reserved word.
|
addAdditionPropertiesToCodeGenModel, addBodyModelSchema, addHeaders, addImport, addImportsToOneOfInterface, additionalProperties, addOneOfInterfaceModel, addOneOfNameExtension, addOperationToGroup, addOption, addParentContainer, addProperties, addRegularExpressionDelimiter, addSwitch, apiDocFileFolder, apiDocFilename, apiDocTemplateFiles, apiFileFolder, apiFilename, apiPackage, apiTemplateFiles, apiTestFileFolder, apiTestFilename, apiTestTemplateFiles, buildEnumVars, buildLibraryCliOption, cliOptions, convertPropertyToBoolean, convertPropertyToBooleanAndWriteBack, createDiscriminator, defaultIncludes, embeddedTemplateDir, encodePath, escapeText, escapeTextWhileAllowingNewLines, fileSuffix, findCommonPrefixOfVars, findMethodResponse, fromCallback, fromFormProperty, fromModel, fromOperation, fromParameter, fromRequestBody, fromRequestBodyToFormParameters, fromResponse, fromSecurity, fromServers, fromServerVariables, generateExamplePath, generateJSONSpecFile, generateYAMLSpecFile, getAdditionalProperties, getAlias, getAllModels, getAllOfDescendants, getAllowUnicodeIdentifiers, getApiNamePrefix, getApiNameSuffix, getCollectionFormat, getCollectionFormat, getConsumesInfo, getContentType, getDisallowAdditionalPropertiesIfNotPresent, getDocExtension, getEnsureUniqueParams, getFeatureSet, getGeneratorMetadata, getGitHost, getGitRepoId, getGitUserId, getHelp, getHttpUserAgent, getIgnoreFilePathOverride, getInnerEnumAllowableValues, getInputSpec, getLegacyDiscriminatorBehavior, getLibrary, getModelNamePrefix, getModelNameSuffix, getModelNameToSchemaCache, getMostInnerItems, getName, getOneOfAnyOfDescendants, getOrGenerateOperationId, getOutputDir, getParameterDataType, getPrependFormOrBodyParameters, getProducesInfo, getReleaseNote, getSchemaAdditionalProperties, getSchemaItems, getSchemaType, getSingleSchemaType, getSortModelPropertiesByRequiredFlag, getSortParamsByRequiredFlag, getSymbolName, getTag, getTemplatingEngine, getterAndSetterCapitalize, getTypeDeclaration, getUseOneOfInterfaces, handleMethodResponse, handleMethodResponse, hasBodyParameter, hasFormParameter, importMapping, initializeSpecialCharacterMapping, instantiationTypes, isAnyTypeSchema, isDataTypeBinary, isDataTypeFile, isDataTypeString, isEnableMinimalUpdate, isEnablePostProcessFile, isFreeFormObject, isHideGenerationTimestamp, isJsonMimeType, isJsonVendorMimeType, isLibrary, isParameterNameUnique, isPropertyInnerMostEnum, isRemoveEnumValuePrefix, isRemoveOperationIdPrefix, isReservedWord, isSkipOverwrite, isStrictSpecBehavior, languageSpecificPrimitives, lowerCamelCase, modelDocFileFolder, modelDocTemplateFiles, modelFileFolder, modelFilename, modelPackage, modelTemplateFiles, modelTestFileFolder, modelTestTemplateFiles, modifyFeatureSet, needToImport, outputFolder, postProcess, postProcessModelProperty, postProcessModelsEnum, postProcessOperationsWithModels, postProcessParameter, postProcessSupportingFileData, processCompiler, processOpenAPI, processTemplatingEngine, removeNonNameElementToCamelCase, removeNonNameElementToCamelCase, removeOption, reservedWords, reservedWordsMappings, sanitizeName, sanitizeName, sanitizeName, sanitizeTag, serverVariableOverrides, setAllowUnicodeIdentifiers, setApiNamePrefix, setApiNameSuffix, setApiPackage, setCircularReferences, setDisallowAdditionalPropertiesIfNotPresent, setDocExtension, setEnableMinimalUpdate, setEnablePostProcessFile, setEnsureUniqueParams, setGitHost, setGitRepoId, setGitUserId, setHideGenerationTimestamp, setHttpUserAgent, setIgnoreFilePathOverride, setInputSpec, setLegacyDiscriminatorBehavior, setLibrary, setModelNamePrefix, setModelNameSuffix, setModelPackage, setNonArrayMapProperty, setOpenAPI, setOutputDir, setParameterBooleanFlagWithCodegenProperty, setParameterContentType, setParameterExampleValue, setParameterExampleValue, setParameterExampleValue, setParameterNullable, setPrependFormOrBodyParameters, setReleaseNote, setRemoveEnumValuePrefix, setRemoveOperationIdPrefix, setReservedWordsLowerCase, setSkipOverwrite, setSortModelPropertiesByRequiredFlag, setSortParamsByRequiredFlag, setStrictSpecBehavior, setTemplateDir, setTemplatingEngine, setUseOneOfInterfaces, shouldOverwrite, supportedLibraries, supportingFiles, templateDir, testPackage, toAllOfName, toAnyOfName, toApiDocFilename, toApiFilename, toApiImport, toApiTestFilename, toApiVarName, toArrayModelParamName, toDefaultValue, toDefaultValueWithParam, toEnumDefaultValue, toEnumName, toEnumValue, toEnumVarName, toExamples, toExampleValue, toGetter, toInstantiationType, toModelDocFilename, toModelFilename, toModelImport, toModelImportMap, toModelTestFilename, toOneOfName, toRegularExpression, toSetter, typeMapping, unaliasSchema, updateAllModels, updateCodegenPropertyEnum, updateDataTypeWithEnumForArray, updateDataTypeWithEnumForMap, updateEnumVarsWithExtensions, updateOption, updatePropertyForArray, updatePropertyForMap, vendorExtensions, writePropertyBackclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitadditionalProperties, addOperationToGroup, apiDocFileFolder, apiDocFilename, apiDocTemplateFiles, apiFileFolder, apiFilename, apiPackage, apiTemplateFiles, apiTestFileFolder, apiTestFilename, apiTestTemplateFiles, cliOptions, defaultIncludes, embeddedTemplateDir, encodePath, escapeText, escapeTextWhileAllowingNewLines, fileSuffix, fromModel, fromOperation, fromSecurity, fromServers, fromServerVariables, generateExamplePath, getDocExtension, getFeatureSet, getGeneratorMetadata, getGitHost, getGitRepoId, getGitUserId, getHelp, getHttpUserAgent, getIgnoreFilePathOverride, getInputSpec, getLibrary, getName, getOutputDir, getReleaseNote, getTag, getTemplatingEngine, getTypeDeclaration, importMapping, instantiationTypes, isEnableMinimalUpdate, isEnablePostProcessFile, isHideGenerationTimestamp, isRemoveEnumValuePrefix, isRemoveOperationIdPrefix, isSkipOverwrite, isStrictSpecBehavior, languageSpecificPrimitives, modelDocFileFolder, modelDocTemplateFiles, modelFileFolder, modelFilename, modelPackage, modelTemplateFiles, modelTestFileFolder, modelTestTemplateFiles, outputFolder, postProcess, postProcessModelProperty, postProcessOperationsWithModels, postProcessParameter, postProcessSupportingFileData, processCompiler, processOpenAPI, processTemplatingEngine, reservedWords, reservedWordsMappings, sanitizeName, sanitizeTag, serverVariableOverrides, setDocExtension, setEnableMinimalUpdate, setEnablePostProcessFile, setGitHost, setGitRepoId, setGitUserId, setHideGenerationTimestamp, setHttpUserAgent, setIgnoreFilePathOverride, setInputSpec, setLibrary, setOpenAPI, setOutputDir, setReleaseNote, setRemoveEnumValuePrefix, setRemoveOperationIdPrefix, setSkipOverwrite, setStrictSpecBehavior, setTemplatingEngine, shouldOverwrite, supportedLibraries, supportingFiles, templateDir, testPackage, toApiDocFilename, toApiFilename, toApiImport, toApiTestFilename, toApiVarName, toGetter, toModelDocFilename, toModelFilename, toModelImport, toModelImportMap, toModelTestFilename, toSetter, typeMapping, unaliasSchema, updateAllModels, vendorExtensionsprotected static final String RESERVED_WORD_PREFIX_OPTION
protected static final String RESERVED_WORD_PREFIX_DESC
protected String reservedWordPrefix
protected static final String VARIABLE_NAME_FIRST_CHARACTER_UPPERCASE_OPTION
protected static final String VARIABLE_NAME_FIRST_CHARACTER_UPPERCASE_DESC
protected boolean variableNameFirstCharacterUppercase
public String escapeQuotationMark(String input)
DefaultCodegenescapeQuotationMark in interface CodegenConfigescapeQuotationMark in class DefaultCodegeninput - String to be cleaned uppublic String escapeUnsafeCharacters(String input)
DefaultCodegenescapeUnsafeCharacters in interface CodegenConfigescapeUnsafeCharacters in class DefaultCodegeninput - String to be cleaned uppublic String toApiName(String type)
DefaultCodegentoApiName in interface CodegenConfigtoApiName in class DefaultCodegentype - the name of the Apipublic String toModelName(String type)
DefaultCodegentoModelName in interface CodegenConfigtoModelName in class DefaultCodegentype - the name of the modelpublic String toVarName(String name)
DefaultCodegentoVarName in class DefaultCodegenname - the variable namepublic String escapeReservedWord(String name)
escapeReservedWord in interface CodegenConfigescapeReservedWord in class DefaultCodegenname - the name to be escapedpublic String toOperationId(String operationId)
DefaultCodegentoOperationId in class DefaultCodegenoperationId - operation IDpublic String toParamName(String name)
DefaultCodegentoParamName in interface CodegenConfigtoParamName in class DefaultCodegenname - Codegen property objectpublic CodegenProperty fromProperty(String name, io.swagger.v3.oas.models.media.Schema p)
DefaultCodegenfromProperty in class DefaultCodegenname - name of the propertyp - OAS property schemapublic String toBooleanGetter(String name)
toBooleanGetter in interface CodegenConfigtoBooleanGetter in class DefaultCodegenname - the name of the propertypublic String getTypeDeclaration(String str)
DefaultCodegengetTypeDeclaration in interface CodegenConfiggetTypeDeclaration in class DefaultCodegenstr - namepublic void processOpts()
processOpts in interface CodegenConfigprocessOpts in class DefaultCodegenprotected com.google.common.collect.ImmutableMap.Builder<String,com.samskivert.mustache.Mustache.Lambda> addMustacheLambdas()
DefaultCodegenaddMustacheLambdas in class DefaultCodegenpublic void postProcessFile(File file, String fileType)
DefaultCodegenTODO: store these values in enum instead
postProcessFile in interface CodegenConfigpostProcessFile in class DefaultCodegenfile - file to be processedfileType - file typepublic void preprocessOpenAPI(io.swagger.v3.oas.models.OpenAPI openAPI)
preprocessOpenAPI in interface CodegenConfigpreprocessOpenAPI in class DefaultCodegenpublic Map<String,Object> postProcessModels(Map<String,Object> objs)
postProcessModels in interface CodegenConfigpostProcessModels in class DefaultCodegenpublic Map<String,Object> postProcessAllModels(Map<String,Object> objs)
postProcessAllModels in interface CodegenConfigpostProcessAllModels in class DefaultCodegenCopyright © 2021. All rights reserved.