Mobile API Reference  MicroStrategy 2019
ExpressionNode.h
Go to the documentation of this file.
1 //
2 // ExpressionNode.h
3 // MSTRMobile
4 //
5 // Created by Ilia Baskin on 2/16/10.
6 // Copyright 2010 MicroStrategy. All rights reserved.
7 //
8 
9 #import <Foundation/Foundation.h>
10 #import "MSTRHandler.h"
11 
12 @class Dimty, SAXSupport, MSIExpression, XMLBuilder, MSIObjectInfo;
13 @class PromptInstances;
14 
15 typedef enum _NodeTypes{
19 }NodeTypes;
20 
21 typedef enum _FunctionTypes{
24 
25 @interface ExpressionNode : NSObject {
26 
27 @protected
28  NSInteger expressionType;
29  NSInteger nodeType;
30  NSInteger nodeDimtyType;
31  NSInteger dataType;
32  NSInteger key;
33  NSString* displayName;
34  NSString* emet;
35  NSInteger cpValue;
38 
41  NSMutableArray* childNodes;
43  PromptInstances* promptinstances;
44 }
45 
46 @property NSInteger expressionType;
47 @property NSInteger nodeType;
48 @property NSInteger nodeDimtyType;
49 @property NSInteger dataType;
50 @property NSInteger key;
51 @property NSInteger cpValue;
52 @property (nonatomic, copy) NSString* displayName;
53 @property (nonatomic, copy) NSString* emet;
54 @property (nonatomic, strong) Dimty* dimtyObject;
55 @property (nonatomic, readonly, weak) ExpressionNode* parentNode;
56 @property BOOL isIndependent;
57 @property BOOL isModified;
58 
59 -(id)initWithExpression: (MSIExpression*)expr;
60 -(id)copyWithZone:(NSZone *)zone expression:(MSIExpression*)expression;
61 -(id)copyWithZone:(NSZone *)zone;
62 -(NSInteger)childCount;
63 -(ExpressionNode*)childAtIndex:(NSInteger)i;
64 -(ExpressionNode*)firstChild;
65 -(ExpressionNode*)nextSibling;
66 -(NSInteger)subExpressionCount;
67 
68 -(BOOL)addChild:(ExpressionNode*)newNode;
69 -(BOOL)insertChild:(ExpressionNode*)newNode before:(ExpressionNode*)node;
70 -(void)removeChild:(ExpressionNode*)child;
71 -(BOOL)replaceChild:(ExpressionNode*)child with:(ExpressionNode*)newNode;
72 -(void)clear;
73 -(BOOL)containsChild:(ExpressionNode*)child;
74 
75 -(void)handleXml:(NSString*)elementName attributes:(NSDictionary*)attributes support:(SAXSupport*)support;
76 -(void)handleXmlAttributes:(NSString*)elementName attributes:(NSDictionary*)attributes;
77 -(void)buildXml:(XMLBuilder*)builder;
78 -(void)buildTypeSpecificXml:(XMLBuilder*)builder;
79 
80 
81 @end
82 
84 @end
85 
86 //====================================================================
88 
89 @private
90  NSInteger function;
91  NSMutableDictionary* properties;
92  int mrpFunction;
93  NSInteger functionType;
94 }
95 
96 @property NSInteger function;
97 @property (nonatomic, strong) NSMutableDictionary* properties;
98 @property NSInteger functionType;
99 -(int) mappedFunction;
100 -(void) setMappedFunction:(NSInteger)function functionType:(NSInteger)functionType;
101 -(void) setMappedFunction:(NSInteger)mappedFunction functionType:(NSInteger)newFunctionType ascending:(BOOL) ascending;
102 @end
103 
104 
105 //====================================================================
107 
108 @private
110 }
111 
112 @property (nonatomic, strong) MSIObjectInfo* target;
113 
114 @end
115 
116 //====================================================================
117 @interface ValueNode : ExpressionNode {
118 
119 @protected
120  NSInteger valueDataType;
121  NSString* value;
122 }
123 
124 @property (nonatomic, copy) NSString* value;
125 @property NSInteger valueDataType;
126 
127 @end
128 
129 //====================================================================
130 @interface ConstantNode : ValueNode {
131 }
132 
133 @end
134 
135 //====================================================================
136 @interface BigDecimalNode : ValueNode {
137 }
138 
139 
140 @end
141 
142 //====================================================================
143 @interface TimeNode: ValueNode {
144 
145 @private
146  NSString* dynamicDateXML;
147 }
148 
149 -(BOOL) isDynamic;
150 
151 @end
152 
153 //====================================================================
155 
156 @private
159 }
160 
161 @property (nonatomic, strong) MSIObjectInfo* attribute;
162 @property (nonatomic, strong) MSIObjectInfo* form;
163 
164 @end
165 
166 //====================================================================
168 @private
170  NSMutableArray* elements;
171 }
172 
173 @property (nonatomic, strong) NSMutableArray* elements;
174 @property (nonatomic, strong) MSIObjectInfo* attribute;
175 
176 @end
177 
178 //====================================================================
180  @private
181  XMLBuilder* currentBuilder;
182  NSMutableString* xml;
183 }
184 
185 @end
Definition: ExpressionNode.h:16
signed char BOOL
Definition: PDCwtypes.h:101
Definition: ExpressionNode.h:22
MSIObjectInfo * target
Definition: ExpressionNode.h:109
ExpressionNode *__weak parentNode
Definition: ExpressionNode.h:39
Definition: ExpressionNode.h:136
Definition: ExpressionNode.h:25
MSIObjectInfo * form
Definition: ExpressionNode.h:158
NSString * displayName
Definition: ExpressionNode.h:33
Definition: MSIObjectInfo.h:22
_FunctionTypes
Definition: ExpressionNode.h:21
BOOL isIndependent
Definition: ExpressionNode.h:37
Definition: SAXSupport.h:14
PromptInstances * promptinstances
Definition: ExpressionNode.h:43
NSMutableDictionary * properties
Definition: ExpressionNode.h:91
NSInteger dataType
Definition: ExpressionNode.h:31
Definition: ExpressionNode.h:83
Definition: ExpressionNode.h:17
Definition: ExpressionNode.h:167
Definition: ExpressionNode.h:143
Definition: ExpressionNode.h:16
MSIExpression *__weak ownerExpression
Definition: ExpressionNode.h:40
enum _NodeTypes NodeTypes
NSInteger expressionType
Definition: ExpressionNode.h:28
Definition: MSIExpression.h:14
Definition: ExpressionNode.h:87
NSInteger nodeType
Definition: ExpressionNode.h:29
NSInteger nodeDimtyType
Definition: ExpressionNode.h:30
MSIObjectInfo * attribute
Definition: ExpressionNode.h:157
NSInteger valueDataType
Definition: ExpressionNode.h:120
Definition: ExpressionNode.h:16
Definition: ExpressionNode.h:22
Definition: MSTRHandler.h:12
Definition: ExpressionNode.h:106
Definition: ExpressionNode.h:117
Definition: ExpressionNode.h:154
NSInteger cpValue
Definition: ExpressionNode.h:35
Definition: ExpressionNode.h:17
Definition: ExpressionNode.h:17
Dimty * dimtyObject
Definition: ExpressionNode.h:36
Definition: ExpressionNode.h:16
Definition: ExpressionNode.h:22
Definition: Dimty.h:13
_NodeTypes
Definition: ExpressionNode.h:15
Definition: ExpressionNode.h:17
BOOL isModified
Definition: ExpressionNode.h:42
NSMutableArray * elements
Definition: ExpressionNode.h:170
NSInteger key
Definition: ExpressionNode.h:32
NSInteger functionType
Definition: ExpressionNode.h:93
Definition: ExpressionNode.h:17
Definition: ExpressionNode.h:16
Definition: ExpressionNode.h:179
NSString * value
Definition: ExpressionNode.h:121
NSString * emet
Definition: ExpressionNode.h:34
Definition: ExpressionNode.h:17
NSMutableArray * childNodes
Definition: ExpressionNode.h:41
enum _FunctionTypes FunctionTypes
Definition: ExpressionNode.h:130
MSIObjectInfo * attribute
Definition: ExpressionNode.h:169
Definition: ExpressionNode.h:18