• Skip to content
  • Skip to link menu
  • KDE API Reference
  • kdelibs-4.10.4 API Reference
  • KDE Home
  • Contact Us
 

Nepomuk

  • nepomuk
  • query
comparisonterm.h
Go to the documentation of this file.
1 /*
2  This file is part of the Nepomuk KDE project.
3  Copyright (C) 2009-2010 Sebastian Trueg <trueg@kde.org>
4 
5  This library is free software; you can redistribute it and/or
6  modify it under the terms of the GNU Lesser General Public
7  License as published by the Free Software Foundation; either
8  version 2.1 of the License, or (at your option) version 3, or any
9  later version accepted by the membership of KDE e.V. (or its
10  successor approved by the membership of KDE e.V.), which shall
11  act as a proxy defined in Section 6 of version 3 of the license.
12 
13  This library is distributed in the hope that it will be useful,
14  but WITHOUT ANY WARRANTY; without even the implied warranty of
15  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16  Lesser General Public License for more details.
17 
18  You should have received a copy of the GNU Lesser General Public
19  License along with this library. If not, see <http://www.gnu.org/licenses/>.
20 */
21 
22 #ifndef _NEPOMUK_QUERY_COMPARISON_TERM_H_
23 #define _NEPOMUK_QUERY_COMPARISON_TERM_H_
24 
25 #include "simpleterm.h"
26 
27 #include "nepomukquery_export.h"
28 
29 namespace Nepomuk {
30  namespace Types {
31  class Property;
32  }
33 
34  namespace Query {
70  class NEPOMUKQUERY_EXPORT ComparisonTerm : public SimpleTerm
71  {
72  public:
76  enum Comparator {
81  Contains,
82 
89  Regexp,
90 
94  Equal,
95 
99  Greater,
100 
104  Smaller,
105 
109  GreaterOrEqual,
110 
114  SmallerOrEqual
115  };
116 
125  enum AggregateFunction {
129  NoAggregateFunction = 0,
130 
137  Count,
138 
143  DistinctCount,
144 
150  Max,
151 
157  Min,
158 
164  Sum,
165 
170  DistinctSum,
171 
177  Average,
178 
183  DistinctAverage
184  };
185 
189  ComparisonTerm();
190 
194  ComparisonTerm( const ComparisonTerm& term );
195 
204  ComparisonTerm( const Types::Property& property, const Term& term, Comparator comparator = Contains );
205 
209  ~ComparisonTerm();
210 
214  ComparisonTerm& operator=( const ComparisonTerm& term );
215 
221  Comparator comparator() const;
222 
229  Types::Property property() const;
230 
234  void setComparator( Comparator );
235 
242  void setProperty( const Types::Property& );
243 
287  void setVariableName( const QString& name );
288 
297  QString variableName() const;
298 
309  void setAggregateFunction( AggregateFunction function );
310 
319  AggregateFunction aggregateFunction() const;
320 
341  void setSortWeight( int weight, Qt::SortOrder sortOrder = Qt::AscendingOrder );
342 
349  int sortWeight() const;
350 
356  Qt::SortOrder sortOrder() const;
357 
364  bool isInverted() const;
365 
394  void setInverted( bool invert );
395 
414  ComparisonTerm inverted() const;
415  };
416  }
417 }
418 
419 #endif
This file is part of the KDE documentation.
Documentation copyright © 1996-2013 The KDE developers.
Generated on Wed Jun 5 2013 18:36:21 by doxygen 1.8.3.1 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.

Nepomuk

Skip menu "Nepomuk"
  • Main Page
  • Namespace List
  • Namespace Members
  • Alphabetical List
  • Class List
  • Class Hierarchy
  • Class Members
  • File List
  • File Members
  • Modules
  • Related Pages

kdelibs-4.10.4 API Reference

Skip menu "kdelibs-4.10.4 API Reference"
  • DNSSD
  • Interfaces
  •   KHexEdit
  •   KMediaPlayer
  •   KSpeech
  •   KTextEditor
  • kconf_update
  • KDE3Support
  •   KUnitTest
  • KDECore
  • KDED
  • KDEsu
  • KDEUI
  • KDEWebKit
  • KDocTools
  • KFile
  • KHTML
  • KImgIO
  • KInit
  • kio
  • KIOSlave
  • KJS
  •   KJS-API
  •   WTF
  • kjsembed
  • KNewStuff
  • KParts
  • KPty
  • Kross
  • KUnitConversion
  • KUtils
  • Nepomuk
  • Plasma
  • Solid
  • Sonnet
  • ThreadWeaver
Report problems with this website to our bug tracking system.
Contact the specific authors with questions and comments about the page contents.

KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal