Loading...
Searching...
No Matches
CI_ResponsibleParty.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_ResponsibleParty.h
22 */
23
24#ifndef __TERRALIB_METADATA_INTERNAL_ISO19115_CI_RESPONSIBLEPARTY_H
25#define __TERRALIB_METADATA_INTERNAL_ISO19115_CI_RESPONSIBLEPARTY_H
26
27// TerraLib
28#include "../Config.h"
29#include "CodeList.h"
30
31// STL
32#include <string>
33
34// Boost
35#include <boost/noncopyable.hpp>
36
37namespace te
38{
39 namespace md
40 {
41 /*!
42 \class CI_ResponsibleParty
43
44 \brief Contains the identify of person(s), and/or position, and/or organization(s) associated with the resource.
45
46 */
47 class TEMDEXPORT CI_ResponsibleParty: public boost::noncopyable
48 {
49 public:
50
51 /*!
52 \brief Constructor.
53 \param indname The individual name. Default: empty string.
54 \param orgname The organization name. Default: empty string.
55 \param posname The position name. Default: empty string.
56 \param code The responsible party role code. Default: provider.
57
58 \note Only the role member is required, however the count of individualName + organizationName + positionName must
59 be greater than or equal to one.
60 */
61 CI_ResponsibleParty(const std::string& indname = std::string(""),
62 const std::string& orgname = std::string(""),
63 const std::string& posname = std::string(""),
64 CI_RoleCode code=CI_resourceProvider);
65
66 //! Destructor.
68
69 /** @name Accessor methods
70 * Methods used to get or set properties.
71 */
72 //@{
73
74 /*!
75 \brief Set the individual name.
76 \param name The individual name. Do not pass empty string.
77 */
78 void setIndividualName(const std::string& name);
79
80 //! Returns the individual name.
81 const std::string& getIndividualName() const;
82
83 /*!
84 \brief Sets the organization name.
85 \param name The organization name. Do not pass empty string.
86 */
87 void setOrganizationName(const std::string& name);
88
89 //! Returns the individual name.
90 const std::string& getOrganizationName() const;
91
92 /*!
93 \brief Sets the position name.
94 \param name The position name. Do not pass empty string.
95 */
96 void setPositionName(const std::string& name);
97
98 //! Returns the position name.
99 const std::string& getPositionName() const;
100
101 //! Returns the responsible party role.
103
105
106 //@}
107
108 private:
109
110 std::string m_individualName; //!< Name of the responsible individual
111 std::string m_organizationName; //!< Name of the responsible organisation
112 std::string m_positionName; //!< Position of the responsible person
113 CI_RoleCode m_roleCode; //!< Function performed by the responsible party.
114
115 //CI_Contact* m_contact; NOT IMPLEMENTED YET.
116 };
117 } // end namespace md
118} // end namespace te
119
120#endif // __TERRALIB_METADATA_INTERNAL_ISO19115_CI_RESPONSIBLEPARTY_H
121
Contains the identify of person(s), and/or position, and/or organization(s) associated with the resou...
~CI_ResponsibleParty()
Destructor.
std::string m_organizationName
Name of the responsible organisation
CI_ResponsibleParty(const std::string &indname=std::string(""), const std::string &orgname=std::string(""), const std::string &posname=std::string(""), CI_RoleCode code=CI_resourceProvider)
Constructor.
const std::string & getPositionName() const
Returns the position name.
CI_ResponsibleParty * clone() const
CI_RoleCode m_roleCode
Function performed by the responsible party.
void setIndividualName(const std::string &name)
Set the individual name.
CI_RoleCode getRoleCode() const
Returns the responsible party role.
const std::string & getOrganizationName() const
Returns the individual name.
void setOrganizationName(const std::string &name)
Sets the organization name.
const std::string & getIndividualName() const
Returns the individual name.
void setPositionName(const std::string &name)
Sets the position name.
std::string m_positionName
Position of the responsible person.
std::string m_individualName
Name of the responsible individual
CI_RoleCode
Function performed by the responsible party.
Definition: CodeList.h:57
TerraLib.
#define TEMDEXPORT
Definition: Config.h:61