Loading...
Searching...
No Matches
CI_Citation.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/metadata/iso19115/CI_Citation.h
22
23 \brief To support the bibliographic information to reference the resource.
24 */
25
26#ifndef __TERRALIB_METADATA_INTERNAL_ISO19115_CI_CITATION_H
27#define __TERRALIB_METADATA_INTERNAL_ISO19115_CI_CITATION_H
28
29// TerraLib
30#include "../Config.h"
31#include "CodeList.h"
32
33// STL
34#include <string>
35#include <vector>
36
37// Boost
38#include <boost/date_time/gregorian/gregorian.hpp>
39#include <boost/noncopyable.hpp>
40#include <boost/ptr_container/ptr_vector.hpp>
41
42namespace te
43{
44 namespace md
45 {
46 /*!
47 \class CI_Citation
48
49 \brief Provides a standardized method for citing a resource (dataset, feature, source, publication, etc.)
50
51 This class represents only the mandatory elements of core metadata for geographic datasets.
52 */
53 class TEMDEXPORT CI_Citation : public boost::noncopyable
54 {
55 public:
56
57 /*! Constructor.
58 \param title Name by which the cited resource is known.
59 \param date Reference date for the cited resource.
60 \param datetype Identification of the event used for the temporal aspects in the resource.
61 */
62 CI_Citation(const std::string& title, boost::gregorian::date date, CI_DateTypeCode dateype);
63
64 /*! Destructor. */
66
67 /** @name Accessor methods
68 * Methods used to get or set properties.
69 */
70 //@{
71
72 //! Returns the citation title.
73 const std::string& getTitle() const;
74
75 //! Returns the citation date.
76 const boost::gregorian::date& getDate() const;
77
78 //! Returns the citation date type.
80
81 //! Creates a new copy of this object.
83
84 //@}
85
86 private:
87
88 // Mandatory elements from the core metadata for geographic objects
89
90 std::string m_title; //!< Name by which the cited resource is known.
91 boost::gregorian::date m_date; //!< Reference date for the cited resource.
92 CI_DateTypeCode m_dateType; //!< Identification of the event used for the temporal aspects in the resource.
93
94 };
95
96 } // end namespace md
97} // end namespace te
98
99#endif // __TERRALIB_METADATA_INTERNAL_ISO19115_CI_CITATION_H
100
Provides a standardized method for citing a resource (dataset, feature, source, publication,...
Definition: CI_Citation.h:54
CI_DateTypeCode getDateType() const
Returns the citation date type.
const boost::gregorian::date & getDate() const
Returns the citation date.
const std::string & getTitle() const
Returns the citation title.
std::string m_title
Name by which the cited resource is known.
Definition: CI_Citation.h:90
CI_DateTypeCode m_dateType
Identification of the event used for the temporal aspects in the resource.
Definition: CI_Citation.h:92
CI_Citation(const std::string &title, boost::gregorian::date date, CI_DateTypeCode dateype)
boost::gregorian::date m_date
Reference date for the cited resource.
Definition: CI_Citation.h:91
CI_Citation * clone() const
Creates a new copy of this object.
CI_DateTypeCode
Identification of when a given event occurred.
Definition: CodeList.h:45
TerraLib.
#define TEMDEXPORT
Definition: Config.h:61