Expression visitor interface that allows traversal of an Expression or a Condition.
More...
#include <luciad/expressions/IExpressionVisitor.h>
|
virtual | ~IExpressionVisitor ()=default |
|
virtual void | visitAnd (const std::vector< Expression > &conditions)=0 |
| Visits a logical and operation. More...
|
|
virtual void | visitBBox (const Expression &expression)=0 |
| Visits a bbox expression. More...
|
|
virtual void | visitBBox (const Expression &left, const Expression &right)=0 |
| Visits a bbox expression. More...
|
|
virtual void | visitEqual (const Expression &left, const Expression &right)=0 |
| Visits an 'equal' condition. More...
|
|
virtual void | visitGt (const Expression &left, const Expression &right)=0 |
| Visits a 'greater than' condition. More...
|
|
virtual void | visitGte (const Expression &left, const Expression &right)=0 |
| Visits a 'greater than or equal' condition. More...
|
|
virtual void | visitLike (const std::string &propertyPath, const std::string &pattern, bool matchCase, char wildCard, char singleChar, char escapeChar)=0 |
| Visits a like expression. More...
|
|
virtual void | visitLiteral (const ExpressionValue &value)=0 |
| Visits a 'literal' value. More...
|
|
virtual void | visitLt (const Expression &left, const Expression &right)=0 |
| Visits a 'less than' condition. More...
|
|
virtual void | visitLte (const Expression &left, const Expression &right)=0 |
| Visits a 'less than or equal' condition. More...
|
|
virtual void | visitNot (const Expression &condition)=0 |
| Visits a logical 'not' operation. More...
|
|
virtual void | visitNotEqual (const Expression &left, const Expression &right)=0 |
| Visits a 'not equal' condition. More...
|
|
virtual void | visitOr (const std::vector< Expression > &conditions)=0 |
| Visits a logical or operation. More...
|
|
virtual void | visitValueReference (const std::string &propertyPath)=0 |
| Visits a reference to a property. More...
|
|
Expression visitor interface that allows traversal of an Expression or a Condition.
The responsibility for the traversal algorithm is within the visitor. Have a look at Expressions and Conditions section for an example.
◆ ~IExpressionVisitor()
virtual luciad::IExpressionVisitor::~IExpressionVisitor |
( |
| ) |
|
|
virtualdefault |
◆ visitAnd()
virtual void luciad::IExpressionVisitor::visitAnd |
( |
const std::vector< Expression > & |
conditions | ) |
|
|
pure virtual |
◆ visitBBox() [1/2]
virtual void luciad::IExpressionVisitor::visitBBox |
( |
const Expression & |
expression | ) |
|
|
pure virtual |
◆ visitBBox() [2/2]
virtual void luciad::IExpressionVisitor::visitBBox |
( |
const Expression & |
left, |
|
|
const Expression & |
right |
|
) |
| |
|
pure virtual |
◆ visitEqual()
virtual void luciad::IExpressionVisitor::visitEqual |
( |
const Expression & |
left, |
|
|
const Expression & |
right |
|
) |
| |
|
pure virtual |
Visits an 'equal' condition.
- Parameters
-
left | the left expression. |
right | the right expression. |
- See also
- ExpressionFactory::equal
◆ visitGt()
virtual void luciad::IExpressionVisitor::visitGt |
( |
const Expression & |
left, |
|
|
const Expression & |
right |
|
) |
| |
|
pure virtual |
Visits a 'greater than' condition.
- Parameters
-
left | the left expression. |
right | the right expression. |
- See also
- ExpressionFactory::gt
◆ visitGte()
virtual void luciad::IExpressionVisitor::visitGte |
( |
const Expression & |
left, |
|
|
const Expression & |
right |
|
) |
| |
|
pure virtual |
Visits a 'greater than or equal' condition.
- Parameters
-
left | the left expression. |
right | the right expression. |
- See also
- ExpressionFactory::gte
◆ visitLike()
virtual void luciad::IExpressionVisitor::visitLike |
( |
const std::string & |
propertyPath, |
|
|
const std::string & |
pattern, |
|
|
bool |
matchCase, |
|
|
char |
wildCard, |
|
|
char |
singleChar, |
|
|
char |
escapeChar |
|
) |
| |
|
pure virtual |
Visits a like expression.
- Parameters
-
propertyPath | Path for the property whose value needs to be retrieved. |
pattern | The pattern to match. |
matchCase | Whether to match case sensitive or case insensitive. |
wildCard | The character used as wild card to match zero or more characters. |
singleChar | The character used as single character to match exactly one character. |
escapeChar | The character used to escape the meaning of the wildCard , singleChar and escapeChar itself. |
- Since
- 2023.1
- See also
- ExpressionFactory::like
◆ visitLiteral()
virtual void luciad::IExpressionVisitor::visitLiteral |
( |
const ExpressionValue & |
value | ) |
|
|
pure virtual |
◆ visitLt()
virtual void luciad::IExpressionVisitor::visitLt |
( |
const Expression & |
left, |
|
|
const Expression & |
right |
|
) |
| |
|
pure virtual |
Visits a 'less than' condition.
- Parameters
-
left | the left expression. |
right | the right expression. |
- See also
- ExpressionFactory::lt
◆ visitLte()
virtual void luciad::IExpressionVisitor::visitLte |
( |
const Expression & |
left, |
|
|
const Expression & |
right |
|
) |
| |
|
pure virtual |
Visits a 'less than or equal' condition.
- Parameters
-
left | the left expression. |
right | the right expression. |
- See also
- ExpressionFactory::lte
◆ visitNot()
virtual void luciad::IExpressionVisitor::visitNot |
( |
const Expression & |
condition | ) |
|
|
pure virtual |
◆ visitNotEqual()
virtual void luciad::IExpressionVisitor::visitNotEqual |
( |
const Expression & |
left, |
|
|
const Expression & |
right |
|
) |
| |
|
pure virtual |
◆ visitOr()
virtual void luciad::IExpressionVisitor::visitOr |
( |
const std::vector< Expression > & |
conditions | ) |
|
|
pure virtual |
◆ visitValueReference()
virtual void luciad::IExpressionVisitor::visitValueReference |
( |
const std::string & |
propertyPath | ) |
|
|
pure virtual |