Description.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 terralib/se/Description.h
22 
23  \brief A Description gives human-readable descriptive information for the object it is included within.
24 */
25 
26 #ifndef __TERRALIB_SE_INTERNAL_DESCRIPTION_H
27 #define __TERRALIB_SE_INTERNAL_DESCRIPTION_H
28 
29 // TerraLib
30 #include "Config.h"
31 
32 // STL
33 #include <string>
34 
35 // Boost
36 #include <boost/noncopyable.hpp>
37 
38 namespace te
39 {
40  namespace se
41  {
42  /*!
43  \class Description
44 
45  \brief A Description gives human-readable descriptive information for the object it is included within.
46 
47  This information can be extracted and used
48  for such purposes as creating informal searchable
49  metadata in catalogue systems. More metadata
50  fields may be added to this element in the future.
51 
52  \ingroup se
53 
54  \sa Symbolizer, CoverageStyle, Rule, FeatureTypeStyle, CoverageStyle
55  */
56  class TESEEXPORT Description : public boost::noncopyable
57  {
58  public:
59 
60  /** @name Initializer Methods
61  * Methods related to instantiation and destruction.
62  */
63  //@{
64 
65  /*! \brief It initializes a new Description. */
66  Description();
67 
68  /*! \brief Destructor. */
69  ~Description();
70 
71  //@}
72 
73  /** @name Accessor methods
74  * Methods used to get or set properties.
75  */
76  //@{
77 
78  void setTitle(const std::string& title);
79 
80  const std::string& getTitle() const;
81 
82  void setAbstract(const std::string& a);
83 
84  const std::string& getAbstract() const;
85 
86  //@}
87 
88  /*! \brief It creates a new copy of this object. */
89  Description* clone() const;
90 
91  private:
92 
93  std::string m_title; //!< Title. (Optional)
94  std::string m_abstract; //!< Abstract. (Optional)
95  };
96 
97  } // end namespace se
98 } // end namespace te
99 
100 #endif // __TERRALIB_SE_INTERNAL_DESCRIPTION_H
101 
A Description gives human-readable descriptive information for the object it is included within...
Definition: Description.h:56
URI C++ Library.
#define TESEEXPORT
You can use this macro in order to export/import classes and functions from this module.
Definition: Config.h:187
Configuration flags for the Symbology Encoding support of TerraLib.
std::string m_abstract
Abstract. (Optional)
Definition: Description.h:94
std::string m_title
Title. (Optional)
Definition: Description.h:93