public class UE4CPPGenerator extends AbstractCppCodegen implements CodegenConfig
Modifier and Type | Field and Description |
---|---|
protected String |
apiVersion |
static String |
CPP_NAMESPACE |
static String |
CPP_NAMESPACE_DESC |
protected String |
cppNamespace |
protected Map<String,String> |
namespaces |
static String |
OPTIONAL_PROJECT_FILE_DESC |
protected boolean |
optionalProjectFileFlag |
protected Set<String> |
pointerClasses |
protected String |
privateFolder |
protected String |
publicFolder |
protected Set<String> |
systemIncludes |
static String |
UNREAL_MODULE_NAME |
static String |
UNREAL_MODULE_NAME_DESC |
protected String |
unrealModuleName |
additionalProperties, allowUnicodeIdentifiers, apiDocTemplateFiles, apiPackage, apiTemplateFiles, apiTestTemplateFiles, cliOptions, commonTemplateDir, defaultIncludes, embeddedTemplateDir, ensureUniqueParams, fileSuffix, gitRepoBaseURL, gitRepoId, gitUserId, hideGenerationTimestamp, httpUserAgent, ignoreFilePathOverride, ignoreImportMapping, importMapping, inputSpec, instantiationTypes, languageSpecificPrimitives, library, LOGGER, modelDocTemplateFiles, modelNamePrefix, modelNameSuffix, modelPackage, modelTemplateFiles, modelTestTemplateFiles, outputFolder, releaseNote, removeOperationIdPrefix, reservedWords, reservedWordsMappings, skipAliasGeneration, skipOverwrite, sortParamsByRequiredFlag, specialCharReplacements, supportedLibraries, supportingFiles, supportsInheritance, supportsMixins, templateDir, testPackage, typeAliases, typeMapping, vendorExtensions
Constructor and Description |
---|
UE4CPPGenerator() |
Modifier and Type | Method and Description |
---|---|
String |
apiFileFolder()
Location to write api files.
|
String |
apiFilename(String templateName,
String tag) |
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
|
String |
getHelp()
Returns human-friendly help for the generator.
|
String |
getName()
Configures a friendly name for the generator.
|
String |
getSwaggerType(io.swagger.models.properties.Property p)
Optional - swagger type conversion.
|
CodegenType |
getTag()
Configures the type of generator.
|
String |
getTypeDeclaration(io.swagger.models.properties.Property p)
Optional - type declaration.
|
String |
modelFileFolder()
Location to write model files.
|
String |
modelFilename(String templateName,
String tag) |
protected boolean |
needToImport(String type)
Check the type to see if it needs import the library/module/package
|
Map<String,Object> |
postProcessModels(Map<String,Object> objs) |
void |
processOpts() |
String |
sanitizeName(String name)
Sanitize name (parameter, property, method, etc)
|
void |
setOptionalProjectFileFlag(boolean flag) |
String |
toApiFilename(String name)
Return the file name of the Api Test
|
String |
toApiName(String type)
Output the API (class) name (capitalized) ending with "Api"
Return DefaultApi if name is empty
|
String |
toBooleanGetter(String name)
Output the Getter name for boolean property, e.g.
|
String |
toDefaultValue(io.swagger.models.properties.Property p)
Return the default value of the property
|
String |
toEnumVarName(String name,
String datatype)
Return the sanitized variable name for enum
|
String |
toGetter(String name)
Output the Getter name, e.g.
|
String |
toModelFilename(String name)
Return the capitalized file name of the model
|
String |
toModelImport(String name)
Return the fully-qualified "Model" name for import
|
String |
toModelName(String type)
Output the proper model name (capitalized).
|
String |
toParamName(String name)
Return the parameter name by removing invalid characters and proper escaping if
it's a reserved word.
|
String |
toSetter(String name)
Output the Getter name, e.g.
|
String |
toVarName(String name)
Return the variable name by removing invalid characters and proper escaping if
it's a reserved word.
|
fromProperty, toOperationId
addAdditionPropertiesToCodeGenModel, addImport, additionalProperties, addOperationToGroup, addOption, addOption, addProperties, addRegularExpressionDelimiter, addSwitch, apiDocFileFolder, apiDocFilename, apiDocTemplateFiles, apiPackage, apiTemplateFiles, apiTestFileFolder, apiTestFilename, apiTestTemplateFiles, buildLibraryCliOption, camelize, camelize, cliOptions, configureDataForTestTemplate, convertPropertyToBoolean, convertPropertyToBooleanAndWriteBack, dashize, defaultIgnoreImportMappingOption, defaultIncludes, embeddedTemplateDir, ensureUniqueName, escapeText, fileSuffix, findCommonPrefixOfVars, findMethodResponse, fixUpParentAndInterfaces, fromModel, fromModel, fromOperation, fromOperation, fromParameter, fromResponse, fromSecurity, generateExamplePath, getAlias, getCommonTemplateDir, getExamples, getGitRepoBaseURL, getGitRepoId, getGitUserId, getHttpUserAgent, getIgnoreFilePathOverride, getIgnoreImportMapping, getInnerEnumAllowableValues, getInputSpec, getLibrary, getOrGenerateOperationId, getOutputDir, getParameterDataType, getReleaseNote, getSkipAliasGeneration, getSymbolName, getterAndSetterCapitalize, getTypeDeclaration, importMapping, initalizeSpecialCharacterMapping, initialCaps, instantiationTypes, isDataTypeBinary, isDataTypeFile, isHideGenerationTimestamp, isModelObject, isPrimivite, isPropertyInnerMostEnum, isRemoveOperationIdPrefix, isReservedWord, isSkipOverwrite, languageSpecificPrimitives, modelDocFileFolder, modelDocTemplateFiles, modelPackage, modelTemplateFiles, modelTestFileFolder, modelTestTemplateFiles, outputFolder, postProcessAllModels, postProcessModelProperties, postProcessModelProperty, postProcessModelsEnum, postProcessOperations, postProcessOperationsWithModels, postProcessParameter, postProcessSupportingFileData, preprocessSwagger, processCompiler, processSwagger, readRefModelParameter, removeNonNameElementToCamelCase, removeNonNameElementToCamelCase, reservedWords, reservedWordsMappings, sanitizeTag, setAllowUnicodeIdentifiers, setApiPackage, setCommonTemplateDir, setEnsureUniqueParams, setGitRepoBaseURL, setGitRepoId, setGitUserId, setHideGenerationTimestamp, setHttpUserAgent, setIgnoreFilePathOverride, setIgnoreImportMapping, setInputSpec, setLibrary, setModelNamePrefix, setModelNameSuffix, setModelPackage, setNonArrayMapProperty, setOutputDir, setParameterBooleanFlagWithCodegenProperty, setParameterExampleValue, setReleaseNote, setRemoveOperationIdPrefix, setReservedWordsLowerCase, setSkipAliasGeneration, setSkipOverwrite, setSortParamsByRequiredFlag, setTemplateDir, shouldOverwrite, snakeCase, supportedLibraries, supportingFiles, templateDir, testPackage, titleCase, toApiDocFilename, toApiImport, toApiTestFilename, toApiVarName, toDefaultValueWithParam, toEnumDefaultValue, toEnumName, toEnumValue, toExamples, toExampleValue, toInstantiationType, toModelDocFilename, toModelTestFilename, toRegularExpression, typeMapping, underscore, updateCodegenPropertyEnum, updateDataTypeWithEnumForArray, updateDataTypeWithEnumForMap, updatePropertyForArray, updatePropertyForMap, vendorExtensions, writeOptional, writePropertyBack
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
additionalProperties, addOperationToGroup, apiDocFileFolder, apiDocFilename, apiDocTemplateFiles, apiPackage, apiTemplateFiles, apiTestFileFolder, apiTestFilename, apiTestTemplateFiles, cliOptions, defaultIgnoreImportMappingOption, defaultIncludes, embeddedTemplateDir, escapeText, fileSuffix, fromModel, fromModel, fromOperation, fromOperation, fromSecurity, generateExamplePath, getCommonTemplateDir, getGitRepoBaseURL, getGitRepoId, getGitUserId, getHttpUserAgent, getIgnoreFilePathOverride, getIgnoreImportMapping, getInputSpec, getLibrary, getOutputDir, getReleaseNote, getSkipAliasGeneration, getTypeDeclaration, importMapping, instantiationTypes, isHideGenerationTimestamp, isRemoveOperationIdPrefix, isSkipOverwrite, languageSpecificPrimitives, modelDocFileFolder, modelDocTemplateFiles, modelPackage, modelTemplateFiles, modelTestFileFolder, modelTestTemplateFiles, outputFolder, postProcessAllModels, postProcessModelProperty, postProcessOperations, postProcessOperationsWithModels, postProcessParameter, postProcessSupportingFileData, preprocessSwagger, processCompiler, processSwagger, reservedWords, reservedWordsMappings, sanitizeTag, setGitRepoBaseURL, setGitRepoId, setGitUserId, setHideGenerationTimestamp, setHttpUserAgent, setIgnoreFilePathOverride, setIgnoreImportMapping, setInputSpec, setLibrary, setOutputDir, setReleaseNote, setRemoveOperationIdPrefix, setSkipAliasGeneration, setSkipOverwrite, shouldOverwrite, supportedLibraries, supportingFiles, templateDir, testPackage, toApiDocFilename, toApiImport, toApiTestFilename, toApiVarName, toModelDocFilename, toModelTestFilename, typeMapping, vendorExtensions
public static final String CPP_NAMESPACE
public static final String CPP_NAMESPACE_DESC
public static final String UNREAL_MODULE_NAME
public static final String UNREAL_MODULE_NAME_DESC
public static final String OPTIONAL_PROJECT_FILE_DESC
protected String unrealModuleName
protected String privateFolder
protected String publicFolder
protected String apiVersion
protected String cppNamespace
protected boolean optionalProjectFileFlag
public void processOpts()
processOpts
in interface CodegenConfig
processOpts
in class DefaultCodegen
public void setOptionalProjectFileFlag(boolean flag)
public CodegenType getTag()
getTag
in interface CodegenConfig
CodegenType
public String getName()
getName
in interface CodegenConfig
public String getHelp()
getHelp
in interface CodegenConfig
public String toModelImport(String name)
DefaultCodegen
toModelImport
in interface CodegenConfig
toModelImport
in class DefaultCodegen
name
- the name of the "Model"protected boolean needToImport(String type)
DefaultCodegen
needToImport
in class DefaultCodegen
type
- name of the typepublic String escapeReservedWord(String name)
escapeReservedWord
in interface CodegenConfig
escapeReservedWord
in class AbstractCppCodegen
name
- the name to be escapedpublic String modelFileFolder()
modelFileFolder
in interface CodegenConfig
modelFileFolder
in class DefaultCodegen
public String apiFileFolder()
apiFileFolder
in interface CodegenConfig
apiFileFolder
in class DefaultCodegen
public String modelFilename(String templateName, String tag)
modelFilename
in interface CodegenConfig
modelFilename
in class DefaultCodegen
public String toModelFilename(String name)
DefaultCodegen
toModelFilename
in interface CodegenConfig
toModelFilename
in class DefaultCodegen
name
- the model namepublic String apiFilename(String templateName, String tag)
apiFilename
in interface CodegenConfig
apiFilename
in class DefaultCodegen
public String toApiFilename(String name)
DefaultCodegen
toApiFilename
in interface CodegenConfig
toApiFilename
in class DefaultCodegen
name
- the file name of the Apipublic String getTypeDeclaration(io.swagger.models.properties.Property p)
getTypeDeclaration
in interface CodegenConfig
getTypeDeclaration
in class DefaultCodegen
p
- Swagger Property objectpublic String toDefaultValue(io.swagger.models.properties.Property p)
DefaultCodegen
toDefaultValue
in class DefaultCodegen
p
- Swagger property objectpublic String getSwaggerType(io.swagger.models.properties.Property p)
getSwaggerType
in class DefaultCodegen
p
- Swagger property objectProperty
public String toModelName(String type)
DefaultCodegen
toModelName
in interface CodegenConfig
toModelName
in class DefaultCodegen
type
- the name of the modelpublic String toVarName(String name)
DefaultCodegen
toVarName
in class AbstractCppCodegen
name
- the variable namepublic Map<String,Object> postProcessModels(Map<String,Object> objs)
postProcessModels
in interface CodegenConfig
postProcessModels
in class DefaultCodegen
public String toEnumVarName(String name, String datatype)
DefaultCodegen
toEnumVarName
in class DefaultCodegen
name
- enum variable namedatatype
- data typepublic String toParamName(String name)
DefaultCodegen
toParamName
in interface CodegenConfig
toParamName
in class AbstractCppCodegen
name
- Codegen property objectpublic String toApiName(String type)
DefaultCodegen
toApiName
in interface CodegenConfig
toApiName
in class DefaultCodegen
type
- the name of the Apipublic String escapeQuotationMark(String input)
DefaultCodegen
escapeQuotationMark
in interface CodegenConfig
escapeQuotationMark
in class DefaultCodegen
input
- String to be cleaned uppublic String escapeUnsafeCharacters(String input)
DefaultCodegen
escapeUnsafeCharacters
in interface CodegenConfig
escapeUnsafeCharacters
in class DefaultCodegen
input
- String to be cleaned uppublic String sanitizeName(String name)
DefaultCodegen
sanitizeName
in interface CodegenConfig
sanitizeName
in class DefaultCodegen
name
- string to be sanitizepublic String toBooleanGetter(String name)
AbstractCppCodegen
toBooleanGetter
in interface CodegenConfig
toBooleanGetter
in class AbstractCppCodegen
name
- the name of the propertypublic String toGetter(String name)
DefaultCodegen
toGetter
in interface CodegenConfig
toGetter
in class DefaultCodegen
name
- the name of the propertypublic String toSetter(String name)
DefaultCodegen
toSetter
in interface CodegenConfig
toSetter
in class DefaultCodegen
name
- the name of the propertyCopyright © 2021. All rights reserved.