158 return (this->
tokens.Root().Size() == 0);
A compiletime-typesafe key/value pair.
Definition attribute.h:32
The common base class of Nebula.
Definition refcounted.h:38
Definition filterset.h:67
Type GetType() const
get type
Definition filterset.h:165
Attr::Attribute attr
Definition filterset.h:97
Type
token types
Definition filterset.h:71
@ And
Definition filterset.h:78
@ NotEqual
Definition filterset.h:73
@ Greater
Definition filterset.h:74
@ Equal
Definition filterset.h:72
@ Less
Definition filterset.h:75
@ GreaterEqual
Definition filterset.h:76
@ LessEqual
Definition filterset.h:77
@ Or
Definition filterset.h:79
@ Block
Definition filterset.h:81
@ Not
Definition filterset.h:80
@ Root
Definition filterset.h:82
const Attr::Attribute & GetAttr() const
get attribute
Definition filterset.h:174
Token()
default constructor
Definition filterset.h:127
Type type
Definition filterset.h:96
Implements a filter for datatbase data using a condition tree.
Definition filterset.h:25
void AddGreaterOrEqualCheck(const Attr::Attribute &attr)
add a greater-equals check
Definition filterset.cc:133
void EndBlock()
end the current level in the condition tree (close current bracket)
Definition filterset.cc:67
void Clear()
clear the filter
Definition filterset.cc:37
__DeclareClass(FilterSet)
FilterSet()
constructor
Definition filterset.cc:18
void AddAnd()
add a boolean AND
Definition filterset.cc:162
void AddLessThenCheck(const Attr::Attribute &attr)
add a lesser check
Definition filterset.cc:118
Util::Array< Attr::Attribute > bindAttrs
Definition filterset.h:102
void AddGreaterThenCheck(const Attr::Attribute &attr)
add a greater check
Definition filterset.cc:103
void AddOr()
add a boolean OR
Definition filterset.cc:175
void AddLessOrEqualCheck(const Attr::Attribute &attr)
add a lesser-equals check
Definition filterset.cc:148
void ClearDirtyFlag()
clear the dirty state of the filter (every op on the filter will make it dirty)
Definition filterset.h:110
Util::SimpleTree< Token > tokens
Definition filterset.h:100
bool IsEmpty() const
return true if the filter is empty
Definition filterset.h:156
void AddNot()
add a boolean NOT
Definition filterset.cc:188
Util::SimpleTree< Token >::Node * curToken
Definition filterset.h:101
bool isDirty
Definition filterset.h:103
void AddEqualCheck(const Attr::Attribute &attr)
add an equality check
Definition filterset.cc:88
virtual void BindValuesToCommand(const Ptr< Command > &cmd, IndexT wildcardStartIndex)
bind filter attribute values to command
Definition filterset.cc:213
virtual ~FilterSet()
destructor
Definition filterset.cc:28
virtual Util::String AsSqlWhere() const
compile into an SQL WHERE statement
Definition filterset.cc:202
void BeginBlock()
begin a new level in the condition tree (opens a bracket)
Definition filterset.cc:52
bool IsDirty() const
return true if the filter is dirty
Definition filterset.h:119
Nebula's smart pointer class which manages the life time of RefCounted objects.
Definition ptr.h:38
Nebula's dynamic array class.
Definition array.h:60
public node class
Definition simpletree.h:23
A simple tree class which stores its nodes in Util::Arrays.
Definition simpletree.h:19
Nebula's universal string class.
Definition string.h:50
int IndexT
Definition types.h:48