Learning
Documentation
Community
Open Exchange
Global Masters
Home > Class Reference > %SYS namespace > %DeepSee.Query.node
Private  Storage   

%DeepSee.Query.node


abstract class %DeepSee.Query.node extends
%RegisteredObject, %XML.Adaptor

Base class for DeepSee RunTime objects.

Inventory


Parameters Properties Methods Queries Indices ForeignKeys Triggers
3 2 13


Summary


Properties
parent value

Methods
%%OIDGet %AddToSaveSet %BindExport %BuildObjectGraph
%ClassIsLatestVersion %ClassName %Close %ConstructClone
%CopyNode %DeleteNode %DispatchClassMethod %DispatchGetModified
%DispatchGetProperty %DispatchMethod %DispatchSetModified %DispatchSetMultidimProperty
%DispatchSetProperty %Extends %GetMemberProvider %GetParameter
%GetType %GetValue %HideNode %IncrementCount
%IsA %IsEnabled %IsModified %New
%NormalizeObject %ObjectModified %OriginalNamespace %PackageName
%PreProcess %PrintNode %ProcessAxes %ProcessFilter
%ReduceNode %RemoveFromSaveSet %SerializeObject %SetModified
%ToString %ValidateObject %XMLGenerate XMLAfterExport
XMLBeforeExport XMLDTD XMLExport XMLExportInternal
XMLExportToStream XMLExportToString XMLGetSchemaImports XMLImport
XMLImportInternal XMLIsObjectEmpty XMLNew XMLSchema
XMLSchemaNamespace XMLSchemaType

Subclasses
%DeepSee.Query.constant %DeepSee.Query.flag %DeepSee.Query.group %DeepSee.Query.query
%DeepSee.Query.range

Parameters


• parameter NAMESPACE = "http://www.intersystems.com/deepsee/query";
NAMESPACE specifies the XML namespace to be used when projecting the class to XML. If NAMESPACE = "", the default namespace is used for the XML schema is used as the namespace for his class.
• parameter XMLIGNOREINVALIDATTRIBUTE = 0;
The XMLIGNOREINVALIDATTRIBUTE parameter allows the programmer to control handling of unexpected attributes in the XML input. By default (XMLIGNOREINVALIDATTRIBUTE = 1), will ignore unexpected attributes. If XMLIGNOREINVALIDATTRIBUTE is set = 0, then an unexpected attribute will be treated as an error.
• parameter XMLIGNORENULL = 1;
XMLIGNORENULL allows the programmer to override the default XML handling of empty strings for properties of type %String. By default (XMLIGNORENULL = 0), empty strings in the XML input are stored as $c(0) and $c(0) is written to XML as an empty tag. A missing tag in the XML input is always stored as "" and "" is always output to XML as no tag.

If XMLIGNORENULL is set = 1, then both missing tags in the XML and empty strings are input as "", and both "" and $c(0) are output as empty tags (i.e. <tag></tag>).

If XMLIGNORENULL is set = "inputonly", then both missing tags in the XML and empty strings are input as "". Output of "" and $c(0) are for XMLIGNORENULL = 0: $c(0) is output as an empty tag (i.e. <tag></tag>) and "" is output as no tag.

If XMLIGNORENULL = "runtime" (runtime is not case sensitive), then the behavior of XMLIGNORENULL is determined by the format parameter of XMLExport, XMLImport and %XML.Reader.OpenFile. The default behavior for XMLIGNORENULL="runtime is the same as XMLIGNORENULL=0. Adding "ignorenull" to the format argument changes the behavior to that of XMLIGNORENULL=1. "ignorenull" shoud be separated by a comma from literal/encoded part of the format. Example values for format are "", ",ignorenull", "literal,ignorenull" and "encoded,ignorenull". Note that "inputonly" is equivalent to using ,ignorenull for XMLExport and not for %XML.Reader.

Properties


• relationship parent as %DeepSee.Query.group(XMLPROJECTION="none") [ Inverse = children,Cardinality = one ];
Parent of this node.
The type of the parent depends on context.
• property value as %DeepSee.Datatype.string(MAXLEN=32000,XMLPROJECTION="attribute");
Value of this node. This is used by nodes that provide values.

Methods


• classmethod %CopyNode(pCubeIndex As %String, pKey As %String, ByRef pNodeNo As %Integer, pTargetNode As %Integer, pSourceNode As %Integer, pHideParent As %Boolean = 0, pWrapType As %String = "") as %Status
Make a copy of node pSourceNode and add it to target node pTargetNode.
• classmethod %DeleteNode(pCubeIndex As %String, pKey As %String, pAxisNode As %Integer, pNodeNo As %Integer) as %Status
Delete the specified node and its children.
• method %GetMemberProvider() as %DeepSee.Query.member
Return the member provider object associated with this node, if any.
• method %GetType() as %String
Return the type of this node.
The type can be one of the $$$dst macros.
This is implemented by subclasses.
• method %GetValue() as %String
Return the current value of this node.
This is called when a literal value is needed during query processing. This is implemented by subclasses.
• classmethod %HideNode(pCubeIndex As %String, pKey As %String, pAxisNode As %Integer, pNodeNo As %Integer, pShow As %Boolean = 0) as %Status
Hide (or display if pShow is true) the specified node and its children by clearing their visible flags.
• method %IsEnabled(pCube As %String = "", Output pStatus As %Status = $$$OK, Output pReason As %String = "") as %Boolean
Test this node to make sure all data references are currently marked enabled in the cube.
• method %PreProcess(pIsSlicer As %Boolean = 0) as %Status
Execute the pre-processing logic for this node.
pIsSlicer is true if this node is part of the slicer (WHERE) clause.
• method %PrintNode(pLevel As %Integer = 0)
Diagnostic. Print value of this node to the console.
• method %ProcessAxes(pCube As %String, pKey As %String, ByRef pNodeNo As %Integer, Output pNewNodeNo As %Integer, pParent As %Integer, pVisible As %Boolean = 1) as %Status
Execute and build the axes output for this node.
pCube and pKey identify the current query.
pNodeNo is used to track the next available node number in the axis graph.
pNewNodeNo is the (top-most) node created by this call.
pParent is the parent node to insert into.
If pVisible is false, then force children to not be visible.
• method %ProcessFilter(ByRef pFilterTree As %List, pCube As %String, ByRef pNodeNo As %Integer, Output pNewNodeNo As %Integer, pParent As %Integer) as %Status
Process this node within the context of the filter section of a query
pFilterTree is tree containing processed results.
pCube is the cube name.
pNodeNo is used to track the next available node number in the axis graph.
pNewNodeNo is the (top-most) node created by this call.
pParent is the parent node to insert into.
• classmethod %ReduceNode(pCubeIndex As %String, pKey As %String, pNodeNo As %Integer) as %Status
Reduce the given node within the node tree. This means replacing set(set) with set.
• method %ToString(Output pSC As %Status) as %String
Convert this node to its text representation.