Syndication

statement.h
1 /*
2  This file is part of the syndication library
3  SPDX-FileCopyrightText: 2006 Frank Osterfeld <[email protected]>
4 
5  SPDX-License-Identifier: LGPL-2.0-or-later
6 */
7 
8 #ifndef SYNDICATION_RDF_STATEMENT_H
9 #define SYNDICATION_RDF_STATEMENT_H
10 
11 #include <syndication/rdf/property.h>
12 
13 class QString;
14 
15 namespace Syndication
16 {
17 namespace RDF
18 {
19 //@cond PRIVATE
20 class Statement;
21 typedef QSharedPointer<Statement> StatementPtr;
22 //@endcond
23 
24 /**
25  * An RDF statement, consisting of a triple
26  * (subject, predicate, object).
27  */
28 class SYNDICATION_EXPORT Statement
29 {
30  friend class Model;
31 
32 public:
33  /**
34  * creates a null statement
35  */
36  Statement();
37 
38  /**
39  * creates a copy of another statement
40  *
41  * @param other the statement to copy
42  */
43  Statement(const Statement &other);
44 
45  /**
46  * creates a statement
47  * Do not call this in your code, use Model::createStatement() instead.
48  *
49  * @param subject the subject resource of the statement
50  * @param predicate the predicate of the statement
51  * @param object the object node of the statement
52  */
53  Statement(ResourcePtr subject, PropertyPtr predicate, NodePtr object);
54 
55  /**
56  * destructor
57  */
58  virtual ~Statement();
59 
60  /**
61  * assigns another statement
62  *
63  * @param other the statement to assign
64  */
65  Statement &operator=(const Statement &other);
66 
67  /**
68  * returns whether two statements are equal.
69  * Currently statements are equal, if they are from the same model (!)
70  * and subject, predicate and object are equal.
71  *
72  * @param other the statement to compare to
73  */
74  virtual bool operator==(const Statement &other) const;
75 
76  /**
77  * returns whether this statement is a null statement (i.e. was created
78  * using Statement())
79  */
80  virtual bool isNull() const;
81 
82  /**
83  * the subject of the statement.
84  */
85  virtual ResourcePtr subject() const;
86 
87  /**
88  * the predicate of the statement
89  */
90  virtual PropertyPtr predicate() const;
91 
92  /**
93  * the object of the statement
94  */
95  virtual NodePtr object() const;
96 
97  /**
98  * returns the object of this statement as resource, if possible.
99  *
100  * @return the object node as Resource, or @c null if the object
101  * is not a resource
102  */
103  virtual ResourcePtr asResource() const;
104 
105  /**
106  * returns the object of this statement as string, if possible.
107  *
108  * @return the literal text as QString, or a null string if the object
109  * is not a literal
110  */
111  virtual QString asString() const;
112 
113 private:
114  class StatementPrivate;
116 };
117 
118 } // namespace RDF
119 } // namespace Syndication
120 
121 #endif // SYNDICATION_RDF_STATEMENT_H
Model
Definition: resource.h:38
bool operator==(const Qt3DRender::QGraphicsApiFilter &reference, const Qt3DRender::QGraphicsApiFilter &sample)
This file is part of the KDE documentation.
Documentation copyright © 1996-2023 The KDE developers.
Generated on Mon May 8 2023 03:57:11 by doxygen 1.8.17 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.