It is intended to encode a character string comparison operator with pattern matching. More...
#include <Like.h>
  
 Public Types | |
| typedef void | ReturnType | 
| typedef QueryVisitor | VisitorType | 
Public Member Functions | |
| virtual ReturnType | accept (VisitorType &guest) const =0 | 
| It call the visit method from the guest object.  More... | |
| void | add (Expression *arg) | 
| It adds the argument to the function list of arguments.  More... | |
| Expression * | clone () const | 
| It creates a new copy of this expression.  More... | |
| Expression * | getArg (std::size_t i) const | 
| It returns the i-th function argument.  More... | |
| const std::string & | getEscapeChar () const | 
| It returns the escape character.  More... | |
| const std::string & | getName () const | 
| It returns the function name.  More... | |
| std::size_t | getNumArgs () const | 
| It returns the number of arguments informed to the function.  More... | |
| const std::string & | getPattern () | 
| It returns the pattern used in the comparison.  More... | |
| const std::string & | getSingleChar () const | 
| It returns the single wild character.  More... | |
| Expression * | getString () const | 
| It returns the string expression to be compared with the like operator.  More... | |
| const std::string & | getWildCard () const | 
| It returns the wild character.  More... | |
| TE_DEFINE_VISITABLE | Like (Expression *str, const std::string &pattern, const std::string &wildCard="%", const std::string &singleChar="_", const std::string &escapeChar="\\") | 
| Constructor.  More... | |
| Like (const Expression &str, const std::string &pattern, const std::string &wildCard="%", const std::string &singleChar="_", const std::string &escapeChar="\\") | |
| Constructor.  More... | |
| Like (const Like &rhs) | |
| Copy constructor.  More... | |
| Like & | operator= (const Like &rhs) | 
| Expression * | operator[] (std::size_t i) const | 
| It returns the i-th function argument.  More... | |
| void | setEscapeChar (const std::string &e) | 
| It sets the escape character.  More... | |
| void | setPattern (const std::string &p) | 
| It sets the pattern to be used in the comparison.  More... | |
| void | setSingleChar (const std::string &s) | 
| It sets the wild single character.  More... | |
| void | setString (Expression *str) | 
| It sets the string expression to be compared with the like operator.  More... | |
| void | setWildCard (const std::string &w) | 
| It sets the wild character.  More... | |
| ~Like () | |
| Destructor.  More... | |
Protected Attributes | |
| std::vector< Expression * > | m_args | 
| The list of arguments.  More... | |
| std::string | m_name | 
| The function name. May be an operator symbol or just a regular name like ST_Intersects.  More... | |
Private Attributes | |
| std::string | m_escapeChar | 
| The escape char character is used to escape the meaning of the wild card, single char and escape char itself.  More... | |
| std::string | m_pattern | 
| The literal string pattern.  More... | |
| std::string | m_singleChar | 
| The single char character matches exactly one character.  More... | |
| std::string | m_wildCard | 
| The wild card character matches zero or more characters.  More... | |
It is intended to encode a character string comparison operator with pattern matching.
      
  | 
  inherited | 
Definition at line 58 of file BaseVisitable.h.
      
  | 
  inherited | 
Definition at line 57 of file BaseVisitable.h.
| te::da::Like::Like | ( | Expression * | str, | 
| const std::string & | pattern, | ||
| const std::string & | wildCard = "%",  | 
        ||
| const std::string & | singleChar = "_",  | 
        ||
| const std::string & | escapeChar = "\\"  | 
        ||
| ) | 
Constructor.
| str | The operator will take the expression ownership. | 
Definition at line 35 of file Like.cpp.
References te::da::Function::m_args.
| te::da::Like::Like | ( | const Expression & | str, | 
| const std::string & | pattern, | ||
| const std::string & | wildCard = "%",  | 
        ||
| const std::string & | singleChar = "_",  | 
        ||
| const std::string & | escapeChar = "\\"  | 
        ||
| ) | 
Constructor.
Definition at line 49 of file Like.cpp.
References te::da::Expression::clone(), and te::da::Function::m_args.
      
  | 
  pure virtualinherited | 
It call the visit method from the guest object.
| guest | The guest or visitor. | 
      
  | 
  inherited | 
It adds the argument to the function list of arguments.
| arg | The argument to be added. | 
Definition at line 79 of file Function.cpp.
Referenced by te::map::QueryEncoder::getExpression(), te::da::ObjectIdSet::getExpressionByInClause(), te::da::ObjectIdSet::setExpressionByInClause(), and te::map::QueryEncoder::visit().
      
  | 
  virtual | 
It creates a new copy of this expression.
Reimplemented from te::da::Function.
      
  | 
  inherited | 
It returns the i-th function argument.
| i | The argument position. | 
Definition at line 67 of file Function.cpp.
Referenced by te::qt::widgets::DataSetTableView::changeColumnData(), te::da::SpatialRestrictionVisitor::getGeometryRestriction(), te::da::SpatialRestrictionVisitor::getPropertyName(), te::da::SpatialRestrictionVisitor::isFromEnvelope(), and te::serialize::xml::Save().
| const std::string & te::da::Like::getEscapeChar | ( | ) | const | 
      
  | 
  inlineinherited | 
It returns the function name.
Definition at line 79 of file Function.h.
Referenced by te::da::AttributeRestrictionVisitor::getOperator(), te::da::SpatialRestrictionVisitor::getSpatialRelation(), te::da::AttributeRestrictionVisitor::isAttributeRestrictionFunction(), te::da::SpatialRestrictionVisitor::isSpatialRestrictionFunction(), te::serialize::xml::Save(), te::da::SpatialQueryProcessor::supportsSpatialTopologicOperatos(), te::ogr::SQLVisitor::visit(), and te::da::SQLVisitor::visit().
      
  | 
  inherited | 
It returns the number of arguments informed to the function.
Definition at line 62 of file Function.cpp.
Referenced by te::qt::widgets::DataSetTableView::changeColumnData(), te::da::ObjectIdSet::getExpressionByInClause(), te::da::SpatialRestrictionVisitor::getGeometryRestriction(), te::da::SpatialRestrictionVisitor::getPropertyName(), te::da::SpatialRestrictionVisitor::isFromEnvelope(), te::serialize::xml::Save(), te::da::ObjectIdSet::setExpressionByInClause(), te::da::FunctionNoArgsEncoder::toSQL(), te::da::UnaryOpEncoder::toSQL(), te::da::BinaryOpEncoder::toSQL(), te::da::FunctionEncoder::toSQL(), te::da::TemplateEncoder::toSQL(), te::ogr::SQLVisitor::visit(), te::da::AttributeRestrictionVisitor::visit(), te::da::SpatialRestrictionVisitor::visit(), and te::da::SQLVisitor::visit().
| const std::string & te::da::Like::getPattern | ( | ) | 
| const std::string & te::da::Like::getSingleChar | ( | ) | const | 
| te::da::Expression * te::da::Like::getString | ( | ) | const | 
| const std::string & te::da::Like::getWildCard | ( | ) | const | 
| te::da::Like & te::da::Like::operator= | ( | const Like & | rhs | ) | 
Assignment operator.
Definition at line 76 of file Like.cpp.
References m_escapeChar, m_pattern, m_singleChar, m_wildCard, and te::da::Function::operator=().
      
  | 
  inherited | 
It returns the i-th function argument.
| i | The argument position. | 
Definition at line 73 of file Function.cpp.
| void te::da::Like::setEscapeChar | ( | const std::string & | e | ) | 
| void te::da::Like::setPattern | ( | const std::string & | p | ) | 
| void te::da::Like::setSingleChar | ( | const std::string & | s | ) | 
| void te::da::Like::setString | ( | Expression * | str | ) | 
| void te::da::Like::setWildCard | ( | const std::string & | w | ) | 
      
  | 
  protectedinherited | 
The list of arguments.
Definition at line 118 of file Function.h.
Referenced by te::da::BinaryFunction::BinaryFunction(), te::da::Function::Function(), Like(), te::da::Function::operator=(), te::da::ST_Area::ST_Area(), te::da::ST_Buffer::ST_Buffer(), te::da::ST_Centroid::ST_Centroid(), te::da::ST_ConvexHull::ST_ConvexHull(), te::da::ST_DistanceBuffer::ST_DistanceBuffer(), te::da::ST_Envelope::ST_Envelope(), te::da::ST_Length::ST_Length(), te::da::ST_Perimeter::ST_Perimeter(), te::da::ST_Relate::ST_Relate(), te::da::ST_Transform::ST_Transform(), te::da::Substring::Substring(), and te::da::UnaryFunction::UnaryFunction().
      
  | 
  private | 
The escape char character is used to escape the meaning of the wild card, single char and escape char itself.
Definition at line 154 of file Like.h.
Referenced by operator=().
      
  | 
  protectedinherited | 
The function name. May be an operator symbol or just a regular name like ST_Intersects.
Definition at line 117 of file Function.h.
Referenced by te::da::Function::operator=().
      
  | 
  private | 
      
  | 
  private | 
The single char character matches exactly one character.
Definition at line 153 of file Like.h.
Referenced by operator=().
      
  | 
  private | 
The wild card character matches zero or more characters.
Definition at line 152 of file Like.h.
Referenced by operator=().