Loading...
Searching...
No Matches
PropertyName.h
Go to the documentation of this file.
1/* Copyright (C) 2008 National Institute For Space Research (INPE) - Brazil.
2
3 This file is part of the TerraLib - a Framework for building GIS enabled applications.
4
5 TerraLib is free software: you can redistribute it and/or modify
6 it under the terms of the GNU Lesser General Public License as published by
7 the Free Software Foundation, either version 3 of the License,
8 or (at your option) any later version.
9
10 TerraLib is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 GNU Lesser General Public License for more details.
14
15 You should have received a copy of the GNU Lesser General Public License
16 along with TerraLib. See COPYING. If not, write to
17 TerraLib Team at <terralib-team@terralib.org>.
18 */
19
20/*!
21 \file PropertyName.h
22
23 \brief This class can be used to is used to encode the name of any property of an object.
24 */
25
26#ifndef __TERRALIB_FE_INTERNAL_PROPERTYNAME_H
27#define __TERRALIB_FE_INTERNAL_PROPERTYNAME_H
28
29// TerraLib
30#include "Expression.h"
31
32// STL
33#include <string>
34
35namespace te
36{
37 namespace fe
38 {
39 /*!
40 \class PropertyName
41
42 \brief This class is used to encode the name of any property of an object.
43
44 The property name can be used in scalar or spatial
45 expressions to represent the value of that property
46 for a particular instance of an object.
47
48 \ingroup fe
49
50 \sa Expression, SortProperty, DistanceBuffer, BBOXOp, BinarySpatialOp, PropertyIsLike, PropertyIsNull
51
52 \todo In the XML schema it is marked as mixed, so this put another requirement to this class!
53 */
55 {
56 public:
57
59
60 /** @name Initializer Methods
61 * Methods related to instantiation and destruction.
62 */
63 //@{
64
65 /*!
66 \brief It initializes a new PropertyName.
67
68 \name The property name.
69
70 \note The name content can be given using XPath syntax.
71 */
72 PropertyName(const std::string& name);
73
74 /*! \brief Destructor. */
76
77 //@}
78
79 /** @name Accessor methods
80 * Methods used to get or set properties.
81 */
82 //@{
83
84 /*!
85 \brief It sets the property name.
86
87 \param name The property name.
88 */
89 void setName(const std::string& name);
90
91 /*!
92 \brief It returns the property name.
93
94 \return The property name.
95 */
96 const std::string& getName() const;
97
98 //@}
99
100 /** @name Expression Re-implementation
101 * Methods re-implemented from Expression.
102 */
103 //@{
104
106
107 //@}
108
109 private:
110
111 std::string m_name; //!< Property name. (Mandatory)
112 };
113
114 } // end namespace se
115} // end namespace te
116
117#endif // __TERRALIB_FE_INTERNAL_PROPERTYNAME_H
118
#define TE_DEFINE_VISITABLE
Definition: BaseVisitable.h:75
This is an abstract class that models a Filter Encoding expression.
Definition: Expression.h:51
This class is used to encode the name of any property of an object.
Definition: PropertyName.h:55
~PropertyName()
Destructor.
Expression * clone() const
It returns a clone of this object.
void setName(const std::string &name)
It sets the property name.
const std::string & getName() const
It returns the property name.
std::string m_name
Property name. (Mandatory)
Definition: PropertyName.h:111
PropertyName(const std::string &name)
Auxiliary classes and functions to serialize filter expressions from a XML document.
TerraLib.
#define TEFEEXPORT
You can use this macro in order to export/import classes and functions from this module.
Definition: Config.h:59