• Skip to content
  • Skip to link menu
KDE 4.3 API Reference
  • KDE API Reference
  • kdelibs
  • Sitemap
  • Contact Us
 

Nepomuk

class.h

Go to the documentation of this file.
00001 /* This file is part of the Nepomuk-KDE libraries
00002    Copyright (c) 2007 Sebastian Trueg <trueg@kde.org>
00003 
00004    This library is free software; you can redistribute it and/or
00005    modify it under the terms of the GNU Library General Public
00006    License as published by the Free Software Foundation; either
00007    version 2 of the License, or (at your option) any later version.
00008 
00009    This library is distributed in the hope that it will be useful,
00010    but WITHOUT ANY WARRANTY; without even the implied warranty of
00011    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00012    Library General Public License for more details.
00013 
00014    You should have received a copy of the GNU Library General Public License
00015    along with this library; see the file COPYING.LIB.  If not, write to
00016    the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
00017    Boston, MA 02110-1301, USA.
00018 */
00019 
00020 #ifndef _NEPOMUK_CLASS_H_
00021 #define _NEPOMUK_CLASS_H_
00022 
00023 #include <QtCore/QList>
00024 #include <QtCore/QUrl>
00025 #include <QtCore/QString>
00026 #include <QtCore/QSharedData>
00027 
00028 #include "entity.h"
00029 #include "nepomuk_export.h"
00030 
00031 
00032 namespace Nepomuk {
00033     namespace Types {
00034         class Property;
00035 
00049         class NEPOMUK_EXPORT Class : public Entity
00050         {
00051             friend class ClassPrivate;
00052             
00053         public:
00057             Class();
00058 
00068             Class( const QUrl& uri );
00069 
00073             Class( const Class& );
00074 
00078             ~Class();
00079 
00083             Class& operator=( const Class& );
00084 
00090             QList<Property> rangeOf();
00091 
00097             QList<Property> domainOf();
00098 
00104             Property findPropertyByName( const QString& name );
00105 
00113             Property findPropertyByLabel( const QString& label, const QString& language = QString() );
00114 
00123             QList<Class> parentClasses();
00124 
00131             QList<Class> subClasses();
00132 
00139             QList<Class> allParentClasses();
00140 
00147             QList<Class> allSubClasses();
00148 
00155             bool isParentOf( const Class& other );
00156 
00163             bool isSubClassOf( const Class& other );
00164         };
00165     }
00166 }
00167 
00168 
00169 #ifndef DISABLE_NEPOMUK_LEGACY
00170 
00171 namespace Nepomuk {
00172 
00173     class Ontology;
00174     class Property;
00175 
00181     class KDE_DEPRECATED NEPOMUK_EXPORT Class : public Entity
00182     {
00183     public:
00187     Class();
00188 
00192     Class( const Class& );
00193 
00197     ~Class();
00198 
00199     Class& operator=( const Class& );
00200 
00201     // an alternative would be: QList<Property> rangeOf() and QList<Property> domainOf()
00202     QList<const Property*> allProperties() const;
00203 
00209     const Property* findPropertyByName( const QString& name ) const;
00210 
00218     const Property* findPropertyByLabel( const QString& label, const QString& language = QString() ) const;
00219 
00225     const Property* findPropertyByUri( const QUrl& uri ) const;
00226 
00233     QList<const Class*> parentClasses() const;
00234 
00241     QList<const Class*> subClasses() const;
00242 
00249     bool isParentOf( const Class* other ) const;
00250 
00257     bool isSubClassOf( const Class* other ) const;
00258 
00269     static const Class* load( const QUrl& uri );
00270 
00271     private:
00272     class Private;
00273     QSharedDataPointer<Private> d;
00274 
00275     friend class OntologyManager;
00276     };
00277 }
00278 
00279 #endif
00280 #endif

Nepomuk

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

kdelibs

Skip menu "kdelibs"
  • DNSSD
  • Interfaces
  •   KHexEdit
  •   KMediaPlayer
  •   KSpeech
  •   KTextEditor
  • Kate
  • kconf_update
  • KDE3Support
  •   KUnitTest
  • KDECore
  • KDED
  • KDEsu
  • KDEUI
  • KDocTools
  • KFile
  • KHTML
  • KImgIO
  • KInit
  • kio
  • KIOSlave
  • KJS
  •   KJS-API
  •   WTF
  • kjsembed
  • KNewStuff
  • KParts
  • KPty
  • Kross
  • KUtils
  • Nepomuk
  • Plasma
  • Solid
  • Sonnet
  • ThreadWeaver
Generated for kdelibs by doxygen 1.6.1
This website is maintained by Adriaan de Groot and Allen Winter.
KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal