text: /***************************************************************************
   *   Copyright (C) by GFZ Potsdam                                          *
   *                                                                         *
   *   You can redistribute and/or modify this program under the             *
   *   terms of the SeisComP Public License.                                 *
   *                                                                         *
   *   This program is distributed in the hope that it will be useful,       *
   *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
   *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the         *
   *   SeisComP Public License for more details.                             *
   ***************************************************************************/
  
  // This file was created by a source code generator.
  // Do not modify the contents. Change the definition and run the generator
  // again!
  
  
  #define SEISCOMP_COMPONENT DataModel
  #include <seiscomp3/datamodel/creationinfo.h>
  #include <seiscomp3/datamodel/metadata.h>
  #include <seiscomp3/logging/log.h>
  
  
  namespace Seiscomp {
  namespace DataModel {
  
  
  IMPLEMENT_SC_CLASS(CreationInfo, "CreationInfo");
  
  
  CreationInfo::MetaObject::MetaObject(const Core::RTTI* rtti) : Seiscomp::Core::MetaObject(rtti) {
  	addProperty(Core::simpleProperty("agencyID", "string", false, false, false, false, false, false, NULL, &CreationInfo::setAgencyID, &CreationInfo::agencyID));
  	addProperty(Core::simpleProperty("agencyURI", "string", false, false, false, false, false, false, NULL, &CreationInfo::setAgencyURI, &CreationInfo::agencyURI));
  	addProperty(Core::simpleProperty("author", "string", false, false, false, false, false, false, NULL, &CreationInfo::setAuthor, &CreationInfo::author));
  	addProperty(Core::simpleProperty("authorURI", "string", false, false, false, false, false, false, NULL, &CreationInfo::setAuthorURI, &CreationInfo::authorURI));
  	addProperty(Core::simpleProperty("creationTime", "datetime", false, false, false, false, true, false, NULL, &CreationInfo::setCreationTime, &CreationInfo::creationTime));
  	addProperty(Core::simpleProperty("modificationTime", "datetime", false, false, false, false, true, false, NULL, &CreationInfo::setModificationTime, &CreationInfo::modificationTime));
  	addProperty(Core::simpleProperty("version", "string", false, false, false, false, false, false, NULL, &CreationInfo::setVersion, &CreationInfo::version));
  }
  
  
  IMPLEMENT_METAOBJECT(CreationInfo)
  
  
  CreationInfo::CreationInfo() {
  }
  // <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
  
  
  
  
  // >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
  CreationInfo::CreationInfo(const CreationInfo& other)
  : Core::BaseObject() {
  	*this = other;
  }
  // <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
  
  
  
  
  // >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
  CreationInfo::~CreationInfo() {
  }
  // <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
  
  
  
  
  // >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
  bool CreationInfo::operator==(const CreationInfo& rhs) const {
  	if ( !(_agencyID == rhs._agencyID) )
  		return false;
  	if ( !(_agencyURI == rhs._agencyURI) )
  		return false;
  	if ( !(_author == rhs._author) )
  		return false;
  	if ( !(_authorURI == rhs._authorURI) )
  		return false;
  	if ( !(_creationTime == rhs._creationTime) )
  		return false;
  	if ( !(_modificationTime == rhs._modificationTime) )
  		return false;
  	if ( !(_version == rhs._version) )
  		return false;
  	return true;
  }
  // <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
  
  
  
  
  // >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
  bool CreationInfo::operator!=(const CreationInfo& rhs) const {
  	return !operator==(rhs);
  }
  // <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
  
  
  
  
  // >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
  bool CreationInfo::equal(const CreationInfo& other) const {
  	return *this == other;
  }
  // <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
  
  
  
  
  // >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
  void CreationInfo::setAgencyID(const std::string& agencyID) {
  	_agencyID = agencyID;
  }
  // <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
  
  
  
  
  // >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
  const std::string& CreationInfo::agencyID() const {
  	return _agencyID;
  }
  // <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
  
  
  
  
  // >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
  void CreationInfo::setAgencyURI(const std::string& agencyURI) {
  	_agencyURI = agencyURI;
  }
  // <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
  
  
  
  
  // >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
  const std::string& CreationInfo::agencyURI() const {
  	return _agencyURI;
  }
  // <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
  
  
  
  
  // >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
  void CreationInfo::setAuthor(const std::string& author) {
  	_author = author;
  }
  // <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
  
  
  
  
  // >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
  const std::string& CreationInfo::author() const {
  	return _author;
  }
  // <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
  
  
  
  
  // >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
  void CreationInfo::setAuthorURI(const std::string& authorURI) {
  	_authorURI = authorURI;
  }
  // <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
  
  
  
  
  // >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
  const std::string& CreationInfo::authorURI() const {
  	return _authorURI;
  }
  // <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
  
  
  
  
  // >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
  void CreationInfo::setCreationTime(const OPT(Seiscomp::Core::Time)& creationTime) {
  	_creationTime = creationTime;
  }
  // <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
  
  
  
  
  // >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
  Seiscomp::Core::Time CreationInfo::creationTime() const {
  	if ( _creationTime )
  		return *_creationTime;
  	throw Seiscomp::Core::ValueException("CreationInfo.creationTime is not set");
  }
  // <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
  
  
  
  
  // >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
  void CreationInfo::setModificationTime(const OPT(Seiscomp::Core::Time)& modificationTime) {
  	_modificationTime = modificationTime;
  }
  // <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
  
  
  
  
  // >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
  Seiscomp::Core::Time CreationInfo::modificationTime() const {
  	if ( _modificationTime )
  		return *_modificationTime;
  	throw Seiscomp::Core::ValueException("CreationInfo.modificationTime is not set");
  }
  // <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
  
  
  
  
  // >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
  void CreationInfo::setVersion(const std::string& version) {
  	_version = version;
  }
  // <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
  
  
  
  
  // >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
  const std::string& CreationInfo::version() const {
  	return _version;
  }
  // <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
  
  
  
  
  // >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
  CreationInfo& CreationInfo::operator=(const CreationInfo& other) {
  	_agencyID = other._agencyID;
  	_agencyURI = other._agencyURI;
  	_author = other._author;
  	_authorURI = other._authorURI;
  	_creationTime = other._creationTime;
  	_modificationTime = other._modificationTime;
  	_version = other._version;
  	return *this;
  }
  // <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
  
  
  
  
  // >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
  void CreationInfo::serialize(Archive& ar) {
  	// Do not read/write if the archive's version is higher than
  	// currently supported
  	if ( ar.isHigherVersion<0,10>() ) {
  		SEISCOMP_ERROR("Archive version %d.%d too high: CreationInfo skipped",
  		               ar.versionMajor(), ar.versionMinor());
  		ar.setValidity(false);
  		return;
  	}
  
  	ar & NAMED_OBJECT_HINT("agencyID", _agencyID, Archive::XML_ELEMENT);
  	ar & NAMED_OBJECT_HINT("agencyURI", _agencyURI, Archive::XML_ELEMENT);
  	ar & NAMED_OBJECT_HINT("author", _author, Archive::XML_ELEMENT);
  	ar & NAMED_OBJECT_HINT("authorURI", _authorURI, Archive::XML_ELEMENT);
  	ar & NAMED_OBJECT_HINT("creationTime", _creationTime, Archive::XML_ELEMENT | Archive::SPLIT_TIME);
  	ar & NAMED_OBJECT_HINT("modificationTime", _modificationTime, Archive::XML_ELEMENT | Archive::SPLIT_TIME);
  	ar & NAMED_OBJECT_HINT("version", _version, Archive::XML_ELEMENT);
  }
  // <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
  
  
  
  
  // >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
  }
  }
  