17#ifndef __XB_EXPNODE_H__
18#define __XB_EXPNODE_H__
24#ifdef XB_EXPRESSION_SUPPORT
46class XBDLLEXPORT xbExpNode {
49 xbExpNode( xbString &sNodeText,
char cReturnType,
char cNodeType );
50 xbExpNode( xbString &sNodeText,
char cNodeType );
51 xbExpNode(
char cNodeType );
54 xbInt16 AddChild( xbExpNode *n );
55 xbExpNode *GetChild( xbUInt32 ulChildNo )
const;
56 xbUInt32 GetChildCnt()
const;
57 xbUInt32 GetChildNo()
const;
58 xbDbf *GetDbf()
const;
59 xbInt16 GetFieldNo()
const;
60 xbExpNode *GetFirstNode();
61 xbExpNode *GetNextNode()
const;
62 void GetNodeText( xbString &sNodeText )
const;
63 char GetNodeType()
const;
64 xbExpNode *GetParent()
const;
65 xbString &GetStringResult();
66 xbBool GetBoolResult()
const;
68 xbUInt32 GetResultLen()
const;
69 xbExpNode *GetRightSibling()
const;
70 char GetReturnType()
const;
71 xbInt16 GetWeight()
const;
72 xbBool HasRightSibling()
const;
74 xbBool IsUnaryOperator()
const;
75 void RemoveLastChild();
76 void SetResultLen( xbUInt32 ulResultLen );
77 void SetDbfInfo(
xbDbf *dbf );
78 void SetDbfInfo(
xbDbf *dbf, xbInt16 iFieldNo );
79 void SetNodeText( xbString &sNodeText );
80 void SetNodeType(
char cNodeType );
81 void SetParent( xbExpNode *n );
82 void SetResult( xbString &sResult );
83 void SetResult( xbDate &dtResult );
84 void SetResult(
xbBool bResult );
86 void SetReturnType(
char cReturnType );
87 void SetWeight( xbInt16 iWeight );
89 #ifdef XB_DEBUG_SUPPORT
90 void DumpNode( xbInt16 iOption )
const;
100 xbLinkList<xbExpNode *> llChildren;
103 xbUInt32 ulResultLen;
Definition: xbdate.cpp:19
double xbDouble
Definition: xbtypes.h:23
short int xbBool
Definition: xbtypes.h:24
class XBDLLEXPORT xbDbf
Definition: xbtblmgr.h:28