1
// -*- mode: C++; tab-width: 2; -*-
4
// --------------------------------------------------------------------------
5
// OpenMS Mass Spectrometry Framework
6
// --------------------------------------------------------------------------
7
// Copyright (C) 2003-2011 -- Oliver Kohlbacher, Knut Reinert
9
// This library is free software; you can redistribute it and/or
10
// modify it under the terms of the GNU Lesser General Public
11
// License as published by the Free Software Foundation; either
12
// version 2.1 of the License, or (at your option) any later version.
14
// This library is distributed in the hope that it will be useful,
15
// but WITHOUT ANY WARRANTY; without even the implied warranty of
16
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
17
// Lesser General Public License for more details.
19
// You should have received a copy of the GNU Lesser General Public
20
// License along with this library; if not, write to the Free Software
21
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
1
// --------------------------------------------------------------------------
2
// OpenMS -- Open-Source Mass Spectrometry
3
// --------------------------------------------------------------------------
4
// Copyright The OpenMS Team -- Eberhard Karls University Tuebingen,
5
// ETH Zurich, and Freie Universitaet Berlin 2002-2013.
7
// This software is released under a three-clause BSD license:
8
// * Redistributions of source code must retain the above copyright
9
// notice, this list of conditions and the following disclaimer.
10
// * Redistributions in binary form must reproduce the above copyright
11
// notice, this list of conditions and the following disclaimer in the
12
// documentation and/or other materials provided with the distribution.
13
// * Neither the name of any author or any participating institution
14
// may be used to endorse or promote products derived from this software
15
// without specific prior written permission.
16
// For a full list of authors, refer to the file AUTHORS.
17
// --------------------------------------------------------------------------
18
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
19
// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
20
// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
21
// ARE DISCLAIMED. IN NO EVENT SHALL ANY OF THE AUTHORS OR THE CONTRIBUTING
22
// INSTITUTIONS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
23
// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
24
// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
25
// OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
26
// WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
27
// OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
28
// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
23
30
// --------------------------------------------------------------------------
24
31
// $Maintainer: Andreas Bertsch $
35
ContactPerson::ContactPerson():
48
ContactPerson::ContactPerson(const ContactPerson& source):
49
MetaInfoInterface(source),
50
first_name_(source.first_name_),
51
last_name_(source.last_name_),
52
institution_(source.institution_),
53
email_(source.email_),
54
contact_info_(source.contact_info_),
56
address_(source.address_)
61
ContactPerson::~ContactPerson()
66
ContactPerson& ContactPerson::operator = (const ContactPerson& source)
68
if (&source == this) return *this;
42
ContactPerson::ContactPerson() :
55
ContactPerson::ContactPerson(const ContactPerson & source) :
56
MetaInfoInterface(source),
57
first_name_(source.first_name_),
58
last_name_(source.last_name_),
59
institution_(source.institution_),
60
email_(source.email_),
61
contact_info_(source.contact_info_),
63
address_(source.address_)
68
ContactPerson::~ContactPerson()
73
ContactPerson & ContactPerson::operator=(const ContactPerson & source)
70
78
first_name_ = source.first_name_;
71
79
last_name_ = source.last_name_;
72
80
institution_ = source.institution_;
75
83
url_ = source.url_;
76
84
address_ = source.address_;
77
85
MetaInfoInterface::operator=(source);
82
bool ContactPerson::operator== (const ContactPerson& rhs) const
85
first_name_ == rhs.first_name_ &&
86
last_name_ == rhs.last_name_ &&
87
institution_ == rhs.institution_ &&
88
email_ == rhs.email_ &&
89
contact_info_ == rhs.contact_info_ &&
91
address_ == rhs.address_ &&
92
MetaInfoInterface::operator==(rhs)
96
bool ContactPerson::operator!= (const ContactPerson& rhs) const
98
return !(operator==(rhs));
101
const String& ContactPerson::getFirstName() const
106
void ContactPerson::setFirstName(const String& name)
111
const String& ContactPerson::getLastName() const
116
void ContactPerson::setLastName(const String& name)
121
void ContactPerson::setName(const String& name)
123
std::vector<String> tmp;
124
if (name.split(',',tmp))
126
first_name_ = tmp[1].trim();
127
last_name_ = tmp[0].trim();
131
if (name.split(' ',tmp))
133
first_name_ = tmp[0];
143
const String& ContactPerson::getEmail() const
148
void ContactPerson::setEmail(const String& email)
153
const String& ContactPerson::getInstitution() const
158
void ContactPerson::setInstitution(const String& institution)
160
institution_ = institution;
163
const String& ContactPerson::getContactInfo() const
165
return contact_info_;
168
void ContactPerson::setContactInfo(const String& contact_info)
170
contact_info_ = contact_info;
173
const String& ContactPerson::getURL() const
178
void ContactPerson::setURL(const String& url)
183
const String& ContactPerson::getAddress() const
188
void ContactPerson::setAddress(const String& address)
90
bool ContactPerson::operator==(const ContactPerson & rhs) const
92
return first_name_ == rhs.first_name_ &&
93
last_name_ == rhs.last_name_ &&
94
institution_ == rhs.institution_ &&
95
email_ == rhs.email_ &&
96
contact_info_ == rhs.contact_info_ &&
98
address_ == rhs.address_ &&
99
MetaInfoInterface::operator==(rhs);
102
bool ContactPerson::operator!=(const ContactPerson & rhs) const
104
return !(operator==(rhs));
107
const String & ContactPerson::getFirstName() const
112
void ContactPerson::setFirstName(const String & name)
117
const String & ContactPerson::getLastName() const
122
void ContactPerson::setLastName(const String & name)
127
void ContactPerson::setName(const String & name)
129
std::vector<String> tmp;
130
if (name.split(',', tmp))
132
first_name_ = tmp[1].trim();
133
last_name_ = tmp[0].trim();
137
if (name.split(' ', tmp))
139
first_name_ = tmp[0];
149
const String & ContactPerson::getEmail() const
154
void ContactPerson::setEmail(const String & email)
159
const String & ContactPerson::getInstitution() const
164
void ContactPerson::setInstitution(const String & institution)
166
institution_ = institution;
169
const String & ContactPerson::getContactInfo() const
171
return contact_info_;
174
void ContactPerson::setContactInfo(const String & contact_info)
176
contact_info_ = contact_info;
179
const String & ContactPerson::getURL() const
184
void ContactPerson::setURL(const String & url)
189
const String & ContactPerson::getAddress() const
194
void ContactPerson::setAddress(const String & address)