MD_Identification.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/MD_Identification.h
22 
23  \brief Identification information contains information to uniquely identify the data.
24  */
25 
26 #ifndef __TERRALIB_METADATA_INTERNAL_ISO19115_MD_IDENTIFICATION_H
27 #define __TERRALIB_METADATA_INTERNAL_ISO19115_MD_IDENTIFICATION_H
28 
29 // TerraLib
30 #include "../Config.h"
31 #include "CodeList.h"
32 #include "CI_ResponsibleParty.h"
33 
34 // STL
35 #include <string>
36 #include <vector>
37 
38 // Boost
39 #include <boost/noncopyable.hpp>
40 #include <boost/ptr_container/ptr_vector.hpp>
41 namespace te
42 {
43  namespace md
44  {
45  class CI_Citation;
46 
47  /*!
48  \class MD_Identification
49 
50  \brief Identification information contains information to uniquely identify the data.
51 
52  \note It contains only the mandatory elements of core metadata.
53  */
54  class TEMDEXPORT MD_Identification : public boost::noncopyable
55  {
56  public:
57 
58  /*!
59  \brief Constructor.
60  \param citation Pointer to the citation to the resource. Class takes ownership. Do not pass null.
61  \param abstract Brief narrative summary of the resource.
62  \param status Code that represents the development phase of the resource.
63  */
64  MD_Identification(CI_Citation* citation, const std::string abstract, MD_ProgressCode status);
65 
66  //! Destructor.
67  virtual ~MD_Identification();
68 
69  //! Returns the citation for the metadata.
70  const CI_Citation* getCitation() const;
71 
72  //! Returns the resource abstract.
73  const std::string& getAbstract() const;
74 
75  //! Returns the resource status code.
77 
78  /*!
79  \brief Adds a point of contact to the resource.
80  \param poc Pointer to a responsible party. Class takes pointer ownership. Do not pass null.
81  */
83 
84  //! Returns the resource points of contact.
85  const boost::ptr_vector<CI_ResponsibleParty>& getPointsOfContact() const;
86 
87  //! Gets a copy of this object.
88  virtual MD_Identification* clone() const;
89 
90  protected:
92  std::string m_abstract;
94  boost::ptr_vector<CI_ResponsibleParty> m_poc;
95  };
96 
97  } // end namespace md
98 } // end namespace te
99 
100 #endif // __TERRALIB_METADATA_INTERNAL_ISO19115_MD_IDENTIFICATION_H
101 
te
TerraLib.
Definition: AddressGeocodingOp.h:52
te::md::MD_Identification::MD_Identification
MD_Identification(CI_Citation *citation, const std::string abstract, MD_ProgressCode status)
Constructor.
te::md::MD_Identification::m_abstract
std::string m_abstract
Definition: MD_Identification.h:92
te::md::MD_Identification::getAbstract
const std::string & getAbstract() const
Returns the resource abstract.
te::md::MD_Identification::~MD_Identification
virtual ~MD_Identification()
Destructor.
te::md::CI_Citation
Provides a standardized method for citing a resource (dataset, feature, source, publication,...
Definition: CI_Citation.h:54
te::md::MD_Identification::getCitation
const CI_Citation * getCitation() const
Returns the citation for the metadata.
CodeList.h
te::md::MD_Identification::clone
virtual MD_Identification * clone() const
Gets a copy of this object.
te::md::CI_ResponsibleParty
Contains the identify of person(s), and/or position, and/or organization(s) associated with the resou...
Definition: CI_ResponsibleParty.h:48
te::md::MD_Identification::m_citation
CI_Citation * m_citation
Definition: MD_Identification.h:91
te::md::MD_ProgressCode
MD_ProgressCode
status of the dataset or progress of a review
Definition: CodeList.h:460
te::md::MD_Identification::getStatus
te::md::MD_ProgressCode getStatus() const
Returns the resource status code.
te::md::MD_Identification::m_poc
boost::ptr_vector< CI_ResponsibleParty > m_poc
Definition: MD_Identification.h:94
TEMDEXPORT
#define TEMDEXPORT
Definition: Config.h:61
te::md::MD_Identification
Identification information contains information to uniquely identify the data.
Definition: MD_Identification.h:55
te::md::MD_Identification::getPointsOfContact
const boost::ptr_vector< CI_ResponsibleParty > & getPointsOfContact() const
Returns the resource points of contact.
CI_ResponsibleParty.h
te::md::MD_Identification::m_status
te::md::MD_ProgressCode m_status
Definition: MD_Identification.h:93
te::md::MD_Identification::addPointOfContact
void addPointOfContact(CI_ResponsibleParty *p)
Adds a point of contact to the resource.