Learning
Documentation
Community
Open Exchange
Global Masters
Home / Class Reference / ENSLIB namespace / %REST.RESTSpec
Private  Storage   

%REST.RESTSpec


Super class for classes which describe a RESTSpec This class is used internally by InterSystems IRIS. You should not make direct use of it within your applications. There is no guarantee made about either the behavior or future operation of this class.

Inventory


Parameters Properties Methods Queries Indices ForeignKeys Triggers
1 2 8


Summary


Properties
definitionIndex restSpecTree

Methods
%%OIDGet %AddToSaveSet %BindExport %BuildObjectGraph
%ClassIsLatestVersion %ClassName %Close %ConstructClone
%DispatchClassMethod %DispatchGetModified %DispatchGetProperty %DispatchMethod
%DispatchSetModified %DispatchSetMultidimProperty %DispatchSetProperty %Extends
%GetParameter %IncrementCount %IsA %IsModified
%JSONExport %JSONExportInternal %JSONExportToStream %JSONExportToString
%JSONExportToStringInternal %JSONGenerate %JSONImport %JSONImportInternal
%JSONNew %JSONX %New %NormalizeObject
%ObjectModified %OriginalNamespace %PackageName %RemoveFromSaveSet
%SerializeObject %SetModified %ValidateObject %XMLGenerate
CreateDefinitionIndex GetClassModel GetDefinition GetDefinitionEntryName
GetDefinitionKeyName GetDefinitionList GetReference GetSpecificationXData
XMLAfterExport XMLBeforeExport XMLDTD XMLExport
XMLExportInternal XMLExportToStream XMLExportToString XMLGetSchemaImports
XMLImport XMLImportInternal XMLIsObjectEmpty XMLNew
XMLSchema XMLSchemaNamespace XMLSchemaType

Subclasses

Parameters


• parameter XMLFORMAT = "literal";
The XMLFORMAT parameter controls the generation of the XMLExport and XMLImport methods for XML enabled classes to include code for only literal or only encoded format. This allows the generated routines to be significantly smaller since usually both formats are not needed.
If XMLFORMAT="Literal", then only support for literal format import and export is generated.
If XMLFORMAT="Encoded", then only support for SOAP encoded format import and export is generated.
The default is to generate support for both literal and encoded format.

Properties


• property definitionIndex as %REST.RESTSpec [ MultiDimensional ];
Index of all schemas in RESTSpec class tree:
definitionIndex(,,)= where type is "parameters","responses", "securitySchemes", "schemas", "tags".
The index is stored in the root specification class object.
• property restSpecTree as %REST.RESTSpec.RESTSpecObject [ MultiDimensional ];
Save the forwarded RESTSpec trees.

Methods


• method CreateDefinitionIndex(type As %String, spec As %REST.RESTSpec.RESTSpecObject, specClassName As %String) as %Status
Build index of schemas by key. This method must be called as an instance method of the root RESTSpec class.
• classmethod GetClassModel(specClassName As %String, xdataName As %String, Output spec As %REST.RESTSpec.RESTSpecObject, Output internalError As %Boolean) as %Status
Return the RESTSpec xdata block as a tree of correlated classes.
• method GetDefinition(type As %String, spec As %REST.RESTSpec.RESTSpecObject, reference As %String) as %REST.RESTSpec
Use the index of schemas to get schema by key. This method must be called as an instance method of the root RESTSpec class.
• classmethod GetDefinitionEntryName(type As %String) as %String
Return the name of definition entry of the requested type
• classmethod GetDefinitionKeyName(type As %String) as %String
Return the name of definition key property
• classmethod GetDefinitionList(type As %String, spec As %REST.RESTSpec.RESTSpecObject) as %ListOfObjects
Return the definition list of the requested type
• method GetReference(type As %String, specClassName As %String, ByRef spec As %REST.RESTSpec.RESTSpecObject, ByRef reference As %String, Output referencedObject As %REST.RESTSpec) as %Status
Get a referenced RESTSpec reference object. GetReference updated spec and reference to be a simple reference to a remote RESTSpec class. GetReference returns the referenced object in referencedObject.
• classmethod GetSpecificationXData(specClassName As %String, xdataName As %String, Output xdata As %Dictionary.XDataDefinition) as %Status
Return the OpenAPI xdata block.