27 #include "../../common/STLUtils.h"
28 #include "../../common/Translator.h"
29 #include "../Exception.h"
65 if(isAttributeRestrictionFunction(visited))
67 addAttributeRestriction(visited);
72 for(std::size_t i = 0; i < size; ++i)
93 return !m_attrRestrictions.empty();
98 return m_attrRestrictions;
115 return m_attrFunctions.find(f.
getName()) != m_attrFunctions.end();
120 assert(isAttributeRestrictionFunction(f));
122 return m_attrFunctions.find(f.
getName())->second;
129 restriction->
m_index = m_index++;
130 restriction->
m_op = getOperator(f);
134 m_attrRestrictions.push_back(restriction);
static const std::string sm_LessThan
A class that models a Function expression.
const Function * m_function
The function that represents the attribute restriction.
A class that models the name of any property of an object.
virtual ~AttributeRestrictionVisitor()
Virtual destructor.
~AttributeRestriction()
Destructor.
void addAttributeRestriction(const Function &f)
static const std::string sm_EqualTo
This is an abstract class that models a query expression.
A struct that represents an attribute restriction.
bool isAttributeRestrictionFunction(const Function &f) const
virtual void initialize()
static const std::string sm_GreaterThanOrEqualTo
bool hasAttributeRestrictions() const
std::size_t m_index
Internal index of the attribute restriction.
AttributeRestriction()
Default constructor.
const std::vector< te::da::AttributeRestriction * > & getAttributeRestrictions() const
virtual void visit(const Expression &visited)
A class that can be used to model a filter expression that can be applied to a query.
This is an abstract class that models a query expression.
static const std::string sm_NotEqualTo
std::string m_op
The attribute restriction operator.
Expression * getExp() const
A class that models a Function expression.
A Select models a query to be used when retrieving data from a data source.
std::string getOperator(const Function &f) const
const std::string & getName() const
It returns the function name.
A Select models a query to be used when retrieving data from a DataSource.
A visitor that retrieves attribute restrictions from a Query hierarchy.
static const std::string sm_LessThanOrEqualTo
A class that can be used to model a filter expression that can be applied to a query.
Where * getWhere() const
It returns the filter condition.
virtual ReturnType accept(VisitorType &guest) const =0
It call the visit method from the guest object.
A static class with global function name definitions.
void FreeContents(boost::unordered_map< K, V * > &m)
This function can be applied to a map of pointers. It will delete each pointer in the map...
static const std::string sm_GreaterThan
std::size_t getNumArgs() const
It returns the number of arguments informed to the function.
AttributeRestrictionVisitor()
Default constructor.