Package io.swagger.codegen.languages
Class UE4CPPGenerator
- java.lang.Object
-
- io.swagger.codegen.DefaultCodegen
-
- io.swagger.codegen.languages.AbstractCppCodegen
-
- io.swagger.codegen.languages.UE4CPPGenerator
-
- All Implemented Interfaces:
CodegenConfig
public class UE4CPPGenerator extends AbstractCppCodegen implements CodegenConfig
-
-
Field Summary
Fields Modifier and Type Field Description protected StringapiVersionstatic StringCPP_NAMESPACEstatic StringCPP_NAMESPACE_DESCprotected StringcppNamespaceprotected Map<String,String>namespacesstatic StringOPTIONAL_PROJECT_FILE_DESCprotected booleanoptionalProjectFileFlagprotected Set<String>pointerClassesprotected StringprivateFolderprotected StringpublicFolderprotected Set<String>systemIncludesstatic StringUNREAL_MODULE_NAMEstatic StringUNREAL_MODULE_NAME_DESCprotected StringunrealModuleName-
Fields inherited from class io.swagger.codegen.DefaultCodegen
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 Summary
Constructors Constructor Description UE4CPPGenerator()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description StringapiFileFolder()Location to write api files.StringapiFilename(String templateName, String tag)StringescapeQuotationMark(String input)Escape single and/or double quote to avoid code injectionStringescapeReservedWord(String name)Escapes a reserved word as defined in the `reservedWords` array.StringescapeUnsafeCharacters(String input)override with any special text escaping logic to handle unsafe characters so as to avoid code injectionStringgetHelp()Returns human-friendly help for the generator.StringgetName()Configures a friendly name for the generator.StringgetSwaggerType(io.swagger.models.properties.Property p)Optional - swagger type conversion.CodegenTypegetTag()Configures the type of generator.StringgetTypeDeclaration(io.swagger.models.properties.Property p)Optional - type declaration.StringmodelFileFolder()Location to write model files.StringmodelFilename(String templateName, String tag)protected booleanneedToImport(String type)Check the type to see if it needs import the library/module/packageMap<String,Object>postProcessModels(Map<String,Object> objs)voidprocessOpts()StringsanitizeName(String name)Sanitize name (parameter, property, method, etc)voidsetOptionalProjectFileFlag(boolean flag)StringtoApiFilename(String name)Return the file name of the Api TestStringtoApiName(String type)Output the API (class) name (capitalized) ending with "Api" Return DefaultApi if name is emptyStringtoBooleanGetter(String name)Output the Getter name for boolean property, e.g.StringtoDefaultValue(io.swagger.models.properties.Property p)Return the default value of the propertyStringtoEnumVarName(String name, String datatype)Return the sanitized variable name for enumStringtoGetter(String name)Output the Getter name, e.g.StringtoModelFilename(String name)Return the capitalized file name of the modelStringtoModelImport(String name)Return the fully-qualified "Model" name for importStringtoModelName(String type)Output the proper model name (capitalized).StringtoParamName(String name)Return the parameter name by removing invalid characters and proper escaping if it's a reserved word.StringtoSetter(String name)Output the Getter name, e.g.StringtoVarName(String name)Return the variable name by removing invalid characters and proper escaping if it's a reserved word.-
Methods inherited from class io.swagger.codegen.languages.AbstractCppCodegen
fromProperty, toOperationId
-
Methods inherited from class io.swagger.codegen.DefaultCodegen
addAdditionPropertiesToCodeGenModel, addImport, additionalProperties, addOperationToGroup, addOption, addOption, addParentContainer, 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, getAllAliases, 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, isUsingFlattenSpec, 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
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface io.swagger.codegen.CodegenConfig
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, isUsingFlattenSpec, 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
-
-
-
-
Field Detail
-
CPP_NAMESPACE
public static final String CPP_NAMESPACE
- See Also:
- Constant Field Values
-
CPP_NAMESPACE_DESC
public static final String CPP_NAMESPACE_DESC
- See Also:
- Constant Field Values
-
UNREAL_MODULE_NAME
public static final String UNREAL_MODULE_NAME
- See Also:
- Constant Field Values
-
UNREAL_MODULE_NAME_DESC
public static final String UNREAL_MODULE_NAME_DESC
- See Also:
- Constant Field Values
-
OPTIONAL_PROJECT_FILE_DESC
public static final String OPTIONAL_PROJECT_FILE_DESC
- See Also:
- Constant Field Values
-
unrealModuleName
protected String unrealModuleName
-
privateFolder
protected String privateFolder
-
publicFolder
protected String publicFolder
-
apiVersion
protected String apiVersion
-
cppNamespace
protected String cppNamespace
-
optionalProjectFileFlag
protected boolean optionalProjectFileFlag
-
-
Method Detail
-
processOpts
public void processOpts()
- Specified by:
processOptsin interfaceCodegenConfig- Overrides:
processOptsin classDefaultCodegen
-
setOptionalProjectFileFlag
public void setOptionalProjectFileFlag(boolean flag)
-
getTag
public CodegenType getTag()
Configures the type of generator.- Specified by:
getTagin interfaceCodegenConfig- 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.- Specified by:
getNamein interfaceCodegenConfig- 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- Returns:
- A string value for the help message
-
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
-
needToImport
protected boolean needToImport(String type)
Description copied from class:DefaultCodegenCheck the type to see if it needs import the library/module/package- Overrides:
needToImportin classDefaultCodegen- Parameters:
type- name of the type- Returns:
- true if the library/module/package of the corresponding type needs to be imported
-
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:
escapeReservedWordin interfaceCodegenConfig- Overrides:
escapeReservedWordin classAbstractCppCodegen- Parameters:
name- the name to be escaped- 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:
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
-
modelFilename
public String modelFilename(String templateName, String tag)
- Specified by:
modelFilenamein interfaceCodegenConfig- Overrides:
modelFilenamein classDefaultCodegen
-
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
-
apiFilename
public String apiFilename(String templateName, String tag)
- Specified by:
apiFilenamein interfaceCodegenConfig- Overrides:
apiFilenamein classDefaultCodegen
-
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
-
getTypeDeclaration
public String getTypeDeclaration(io.swagger.models.properties.Property 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- Swagger Property object- Returns:
- a string value used as the `dataType` field for model templates, `returnType` for api templates
-
toDefaultValue
public String toDefaultValue(io.swagger.models.properties.Property p)
Description copied from class:DefaultCodegenReturn the default value of the property- Overrides:
toDefaultValuein classDefaultCodegen- Parameters:
p- Swagger property object- Returns:
- string presentation of the default value of the property
-
getSwaggerType
public String getSwaggerType(io.swagger.models.properties.Property p)
Optional - swagger type conversion. This is used to map swagger types in a `Property` into either language specific types via `typeMapping` or into complex models if there is not a mapping.- Overrides:
getSwaggerTypein classDefaultCodegen- Parameters:
p- Swagger property object- Returns:
- a string value of the type or complex model for this property
- See Also:
Property
-
toModelName
public String toModelName(String type)
Description copied from class:DefaultCodegenOutput the proper model name (capitalized). In case the name belongs to the TypeSystem it won't be renamed.- Specified by:
toModelNamein interfaceCodegenConfig- Overrides:
toModelNamein classDefaultCodegen- Parameters:
type- the name of the model- Returns:
- capitalized model name
-
toVarName
public String toVarName(String name)
Description copied from class:DefaultCodegenReturn the variable name by removing invalid characters and proper escaping if it's a reserved word.- Overrides:
toVarNamein classAbstractCppCodegen- Parameters:
name- the variable name- Returns:
- the sanitized variable name
-
postProcessModels
public Map<String,Object> postProcessModels(Map<String,Object> objs)
- Specified by:
postProcessModelsin interfaceCodegenConfig- Overrides:
postProcessModelsin classDefaultCodegen
-
toEnumVarName
public String toEnumVarName(String name, String datatype)
Description copied from class:DefaultCodegenReturn the sanitized variable name for enum- Overrides:
toEnumVarNamein classDefaultCodegen- Parameters:
name- enum variable namedatatype- data type- Returns:
- the sanitized variable name for enum
-
toParamName
public String toParamName(String name)
Description copied from class:DefaultCodegenReturn the parameter name by removing invalid characters and proper escaping if it's a reserved word.- Specified by:
toParamNamein interfaceCodegenConfig- Overrides:
toParamNamein classAbstractCppCodegen- Parameters:
name- Codegen property object- Returns:
- the sanitized parameter name
-
toApiName
public String toApiName(String type)
Description copied from class:DefaultCodegenOutput the API (class) name (capitalized) ending with "Api" Return DefaultApi if name is empty- Specified by:
toApiNamein interfaceCodegenConfig- Overrides:
toApiNamein classDefaultCodegen- Parameters:
type- the name of the Api- Returns:
- capitalized Api name ending with "Api"
-
escapeQuotationMark
public String escapeQuotationMark(String input)
Description copied from class:DefaultCodegenEscape single and/or double quote to avoid code injection- Specified by:
escapeQuotationMarkin interfaceCodegenConfig- Overrides:
escapeQuotationMarkin classDefaultCodegen- Parameters:
input- String to be cleaned up- Returns:
- string with quotation mark removed or escaped
-
escapeUnsafeCharacters
public String escapeUnsafeCharacters(String input)
Description copied from class:DefaultCodegenoverride with any special text escaping logic to handle unsafe characters so as to avoid code injection- Specified by:
escapeUnsafeCharactersin interfaceCodegenConfig- Overrides:
escapeUnsafeCharactersin classDefaultCodegen- Parameters:
input- String to be cleaned up- Returns:
- string with unsafe characters removed or escaped
-
sanitizeName
public String sanitizeName(String name)
Description copied from class:DefaultCodegenSanitize name (parameter, property, method, etc)- Specified by:
sanitizeNamein interfaceCodegenConfig- Overrides:
sanitizeNamein classDefaultCodegen- Parameters:
name- string to be sanitize- Returns:
- sanitized string
-
toBooleanGetter
public String toBooleanGetter(String name)
Description copied from class:AbstractCppCodegenOutput the Getter name for boolean property, e.g. isActive- Specified by:
toBooleanGetterin interfaceCodegenConfig- Overrides:
toBooleanGetterin classAbstractCppCodegen- Parameters:
name- the name of the property- Returns:
- getter name based on naming convention
-
toGetter
public String toGetter(String name)
Description copied from class:DefaultCodegenOutput the Getter name, e.g. getSize- Specified by:
toGetterin interfaceCodegenConfig- Overrides:
toGetterin classDefaultCodegen- Parameters:
name- the name of the property- Returns:
- getter name based on naming convention
-
toSetter
public String toSetter(String name)
Description copied from class:DefaultCodegenOutput the Getter name, e.g. getSize- Specified by:
toSetterin interfaceCodegenConfig- Overrides:
toSetterin classDefaultCodegen- Parameters:
name- the name of the property- Returns:
- setter name based on naming convention
-
-