public abstract class AbstractAdaCodegen extends DefaultCodegen implements CodegenConfig
| 限定符和类型 | 字段和说明 |
|---|---|
protected Map<String,List<String>> |
modelDepends |
protected Map<String,String> |
nullableTypeMapping |
protected HashMap<String,String> |
operationsScopes |
protected List<Map<String,Object>> |
orderedModels |
protected String |
packageName |
protected String |
projectName |
protected int |
scopeIndex |
additionalProperties, allowUnicodeIdentifiers, apiDocTemplateFiles, apiPackage, apiTemplateFiles, apiTestTemplateFiles, cliOptions, commonTemplateDir, defaultIncludes, docExtension, embeddedTemplateDir, enablePostProcessFile, ensureUniqueParams, fileSuffix, gitRepoId, gitUserId, globalOpenAPI, globalSchemas, hideGenerationTimestamp, httpUserAgent, ignoreFilePathOverride, importMapping, inputSpec, instantiationTypes, languageSpecificPrimitives, library, modelDocTemplateFiles, modelNamePrefix, modelNameSuffix, modelPackage, modelTemplateFiles, modelTestTemplateFiles, outputFolder, prependFormOrBodyParameters, releaseNote, removeOperationIdPrefix, reservedWords, reservedWordsMappings, skipOverwrite, sortParamsByRequiredFlag, specialCharReplacements, supportedLibraries, supportingFiles, supportsInheritance, supportsMixins, templateDir, testPackage, typeAliases, typeMapping, vendorExtensions| 构造器和说明 |
|---|
AbstractAdaCodegen() |
| 限定符和类型 | 方法和说明 |
|---|---|
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
|
CodegenOperation |
fromOperation(String path,
String httpMethod,
io.swagger.v3.oas.models.Operation operation,
Map<String,io.swagger.v3.oas.models.media.Schema> definitions,
io.swagger.v3.oas.models.OpenAPI openAPI)
Convert OAS Operation object to Codegen Operation object
|
CodegenProperty |
fromProperty(String name,
io.swagger.v3.oas.models.media.Schema p)
Convert OAS Property object to Codegen Property object
|
String |
getTypeDeclaration(io.swagger.v3.oas.models.media.Schema p)
Optional - type declaration.
|
protected int |
postProcessMediaTypes(List<Map<String,String>> types)
Post process the media types (produces and consumes) for Ada code generator.
|
Map<String,Object> |
postProcessModels(Map<String,Object> objs) |
Map<String,Object> |
postProcessOperationsWithModels(Map<String,Object> objs,
List<Object> allModels) |
void |
postProcessParameter(CodegenParameter parameter)
Overrides postProcessParameter to add a vendor extension "x-is-model-type".
|
Map<String,Object> |
postProcessSupportingFileData(Map<String,Object> objs) |
com.samskivert.mustache.Mustache.Compiler |
processCompiler(com.samskivert.mustache.Mustache.Compiler compiler)
Override the Mustache compiler configuration.
|
protected String |
toAdaIdentifier(String name,
String prefix)
Turn a parameter name, operation name into an Ada identifier.
|
String |
toFilename(String name) |
String |
toModelName(String name)
Output the proper model name (capitalized).
|
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, addImport, additionalProperties, addOperationToGroup, addOption, addProperties, addRegularExpressionDelimiter, addSwitch, apiDocFileFolder, apiDocFilename, apiDocTemplateFiles, apiFileFolder, apiFilename, apiPackage, apiTemplateFiles, apiTestFileFolder, apiTestFilename, apiTestTemplateFiles, buildLibraryCliOption, camelize, camelize, cliOptions, convertPropertyToBoolean, convertPropertyToBooleanAndWriteBack, dashize, defaultIncludes, embeddedTemplateDir, escapeSpecialCharacters, escapeText, escapeTextWhileAllowingNewLines, fileSuffix, findCommonPrefixOfVars, findMethodResponse, fromCallback, fromFormProperty, fromModel, fromOperation, fromParameter, fromRequestBody, fromRequestBodyToFormParameters, fromResponse, fromSecurity, fromServers, fromServerVariables, generateExamplePath, generateJSONSpecFile, generateYAMLSpecFile, getAlias, getCollectionFormat, getCommonTemplateDir, getConsumesInfo, getContentType, getDocExtension, getGitRepoId, getGitUserId, getHelp, getHttpUserAgent, getIgnoreFilePathOverride, getInnerEnumAllowableValues, getInputSpec, getLibrary, getMostInnerItems, getName, getOrGenerateOperationId, getOutputDir, getParameterDataType, getParameterFromRef, getParentName, getProducesInfo, getReleaseNote, getSchemaType, getSymbolName, getTag, getterAndSetterCapitalize, getTypeDeclaration, hasBodyParameter, hasFormParameter, importMapping, initalizeSpecialCharacterMapping, initialCaps, instantiationTypes, isDataTypeBinary, isDataTypeFile, isDataTypeString, isEnablePostProcessFile, isHideGenerationTimestamp, isParameterNameUnique, isPropertyInnerMostEnum, isRemoveOperationIdPrefix, isReservedWord, isSkipOverwrite, languageSpecificPrimitives, modelDocFileFolder, modelDocTemplateFiles, modelFileFolder, modelPackage, modelTemplateFiles, modelTestFileFolder, modelTestTemplateFiles, needToImport, outputFolder, postProcessAllModels, postProcessFile, postProcessModelProperty, postProcessModelsEnum, postProcessOperations, preprocessOpenAPI, processOpenAPI, processOpts, removeNonNameElementToCamelCase, removeNonNameElementToCamelCase, reservedWords, reservedWordsMappings, sanitizeName, sanitizeName, sanitizeTag, setAllowUnicodeIdentifiers, setApiPackage, setCommonTemplateDir, setDocExtension, setEnablePostProcessFile, setEnsureUniqueParams, setGitRepoId, setGitUserId, setGlobalOpenAPI, setGlobalSchemas, setHideGenerationTimestamp, setHttpUserAgent, setIgnoreFilePathOverride, setInputSpec, setLibrary, setModelNamePrefix, setModelNameSuffix, setModelPackage, setNonArrayMapProperty, setOutputDir, setParameterBooleanFlagWithCodegenProperty, setParameterExampleValue, setParameterExampleValue, setParameterExampleValue, setPrependFormOrBodyParameters, setReleaseNote, setRemoveOperationIdPrefix, setReservedWordsLowerCase, setSkipOverwrite, setSortParamsByRequiredFlag, setTemplateDir, shouldOverwrite, snakeCase, supportedLibraries, supportingFiles, templateDir, testPackage, toApiDocFilename, toApiFilename, toApiImport, toApiName, toApiTestFilename, toApiVarName, toArrayModelParamName, toBooleanGetter, toDefaultValue, toDefaultValueWithParam, toEnumDefaultValue, toEnumName, toEnumValue, toEnumVarName, toExamples, toExampleValue, toGetter, toGetter, toInstantiationType, toModelDocFilename, toModelFilename, toModelImport, toModelTestFilename, toRegularExpression, toSetter, toSetter, typeMapping, underscore, updateCodegenPropertyEnum, updateDataTypeWithEnumForArray, updateDataTypeWithEnumForMap, updatePropertyForArray, updatePropertyForMap, vendorExtensions, writeOptional, 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, escapeText, escapeTextWhileAllowingNewLines, fileSuffix, fromModel, fromOperation, fromSecurity, fromServers, fromServerVariables, generateExamplePath, getCommonTemplateDir, getDocExtension, getGitRepoId, getGitUserId, getHelp, getHttpUserAgent, getIgnoreFilePathOverride, getInputSpec, getLibrary, getName, getOutputDir, getReleaseNote, getTag, getTypeDeclaration, importMapping, instantiationTypes, isEnablePostProcessFile, isHideGenerationTimestamp, isRemoveOperationIdPrefix, isSkipOverwrite, languageSpecificPrimitives, modelDocFileFolder, modelDocTemplateFiles, modelFileFolder, modelPackage, modelTemplateFiles, modelTestFileFolder, modelTestTemplateFiles, outputFolder, postProcessAllModels, postProcessFile, postProcessModelProperty, postProcessOperations, preprocessOpenAPI, processOpenAPI, processOpts, reservedWords, reservedWordsMappings, sanitizeName, sanitizeTag, setDocExtension, setEnablePostProcessFile, setGitRepoId, setGitUserId, setGlobalOpenAPI, setGlobalSchemas, setHideGenerationTimestamp, setHttpUserAgent, setIgnoreFilePathOverride, setInputSpec, setLibrary, setOutputDir, setReleaseNote, setRemoveOperationIdPrefix, setSkipOverwrite, shouldOverwrite, supportedLibraries, supportingFiles, templateDir, testPackage, toApiDocFilename, toApiFilename, toApiImport, toApiName, toApiTestFilename, toApiVarName, toBooleanGetter, toGetter, toModelDocFilename, toModelFilename, toModelImport, toModelTestFilename, toSetter, typeMapping, vendorExtensionsprotected String packageName
protected String projectName
protected int scopeIndex
protected String toAdaIdentifier(String name, String prefix)
Ada programming standard avoid the camelcase syntax and prefer the underscore notation. We also have to make sure the identifier is not a reserved keyword. When this happens, we add the configurable prefix. The function translates:
body - P_Body petId - Pet_Id updatePetWithForm - Update_Pet_With_Form
name - the parameter name.prefix - the optional prefix in case the parameter name is a reserved keyword.public String toOperationId(String operationId)
DefaultCodegentoOperationId 在类中 DefaultCodegenoperationId - operation IDpublic String toVarName(String name)
DefaultCodegentoVarName 在类中 DefaultCodegenname - the variable namepublic String toParamName(String name)
DefaultCodegentoParamName 在接口中 CodegenConfigtoParamName 在类中 DefaultCodegenname - Codegen property objectpublic String toModelName(String name)
toModelName 在接口中 CodegenConfigtoModelName 在类中 DefaultCodegenname - the name of the modelpublic CodegenProperty fromProperty(String name, io.swagger.v3.oas.models.media.Schema p)
DefaultCodegenfromProperty 在类中 DefaultCodegenname - name of the propertyp - OAS property objectpublic String escapeReservedWord(String name)
escapeReservedWord 在接口中 CodegenConfigescapeReservedWord 在类中 DefaultCodegenname - the name to be escapedpublic String escapeQuotationMark(String input)
DefaultCodegenescapeQuotationMark 在接口中 CodegenConfigescapeQuotationMark 在类中 DefaultCodegeninput - String to be cleaned uppublic String escapeUnsafeCharacters(String input)
DefaultCodegenescapeUnsafeCharacters 在接口中 CodegenConfigescapeUnsafeCharacters 在类中 DefaultCodegeninput - String to be cleaned uppublic com.samskivert.mustache.Mustache.Compiler processCompiler(com.samskivert.mustache.Mustache.Compiler compiler)
We don't want to have special characters escaped
processCompiler 在接口中 CodegenConfigprocessCompiler 在类中 DefaultCodegencompiler - the compiler.public String getTypeDeclaration(io.swagger.v3.oas.models.media.Schema p)
getTypeDeclaration 在接口中 CodegenConfiggetTypeDeclaration 在类中 DefaultCodegenp - property schemapublic void postProcessParameter(CodegenParameter parameter)
postProcessParameter 在接口中 CodegenConfigpostProcessParameter 在类中 DefaultCodegenparameter - CodegenParameter object to be processed.protected int postProcessMediaTypes(List<Map<String,String>> types)
For each media type, add an adaMediaType member that gives the Ada enum constant for the corresponding type.
types - the list of media types.public CodegenOperation fromOperation(String path, String httpMethod, io.swagger.v3.oas.models.Operation operation, Map<String,io.swagger.v3.oas.models.media.Schema> definitions, io.swagger.v3.oas.models.OpenAPI openAPI)
DefaultCodegenfromOperation 在接口中 CodegenConfigfromOperation 在类中 DefaultCodegenpath - the path of the operationhttpMethod - HTTP methodoperation - OAS operation objectdefinitions - a map of OAS modelsopenAPI - a OAS object representing the specpublic Map<String,Object> postProcessOperationsWithModels(Map<String,Object> objs, List<Object> allModels)
public Map<String,Object> postProcessModels(Map<String,Object> objs)
postProcessModels 在接口中 CodegenConfigpostProcessModels 在类中 DefaultCodegenCopyright © 2019. All rights reserved.