libSBML C++ API  5.20.4
ModelHistory Class Reference

Detailed Description

MIRIAM-compliant data about a model's history.

This class of objects is defined by libSBML only and has no direct equivalent in terms of SBML components. This class is not prescribed by the SBML specifications, although it is used to implement features defined in SBML.

The SBML specification beginning with Level 2 Version 2 defines a standard approach to recording optional model history and model creator information in a form that complies with MIRIAM ("Minimum Information Requested in the Annotation of biochemical Models", Nature Biotechnology, vol. 23, no. 12, Dec. 2005). LibSBML provides the ModelHistory class as a convenient high-level interface for working with model history data.

Model histories in SBML consist of one or more model creators, a single date of creation, and one or more modification dates. The overall XML form of this data takes the following form:

<dc:creator>
  <rdf:Bag>
    <rdf:li rdf:parseType="Resource">
      +++
      <vCard:N rdf:parseType="Resource">
        <vCard:Family>family name</vCard:Family>
        <vCard:Given>given name</vCard:Given>
      </vCard:N>
      +++
      <vCard:EMAIL>email address</vCard:EMAIL>
      +++
      <vCard:ORG rdf:parseType="Resource">
       <vCard:Orgname>organization name</vCard:Orgname>
      </vCard:ORG>
      +++
    </rdf:li>
    ...
  </rdf:Bag>
</dc:creator>
<dcterms:created rdf:parseType="Resource">
  <dcterms:W3CDTF>creation date</dcterms:W3CDTF>
</dcterms:created>
<dcterms:modified rdf:parseType="Resource">
  <dcterms:W3CDTF>modification date</dcterms:W3CDTF>
</dcterms:modified>
...

In the template above, the underlined portions are optional, the symbol +++ is a placeholder for either no content or valid XML content that is not defined by the annotation scheme, and the ellipses ... are placeholders for zero or more elements of the same form as the immediately preceding element. The various placeholders for content, namely family name, given name, email address, organization, creation date, and modification date are data that can be filled in using the various methods on the ModelHistory class described below.

See also
ModelCreator
Date
Examples
addModelHistory.cpp.

Public Member Functions

int addCreator (ModelCreator *mc)
 Adds a copy of a ModelCreator object to the list of "model creator" values stored in this ModelHistory object. More...
 
int addModifiedDate (Date *date)
 Adds a copy of a Date object to the list of "modified date" values stored in this ModelHistory object. More...
 
ModelHistoryclone () const
 Creates and returns a deep copy of this ModelHistory object. More...
 
DategetCreatedDate ()
 Returns the "creation date" portion of this ModelHistory object. More...
 
ModelCreatorgetCreator (unsigned int n)
 Get the nth ModelCreator object stored in this ModelHistory object. More...
 
ListgetListCreators ()
 Returns the list of ModelCreator objects stored in this ModelHistory object. More...
 
ListgetListModifiedDates ()
 Returns the list of "modified date" values (as Date objects) stored in this ModelHistory object. More...
 
DategetModifiedDate ()
 Returns the "modified date" portion of this ModelHistory object. More...
 
DategetModifiedDate (unsigned int n)
 Get the nth Date object in the list of "modified date" values stored in this ModelHistory object. More...
 
unsigned int getNumCreators () const
 Get the number of ModelCreator objects stored in this ModelHistory object. More...
 
unsigned int getNumModifiedDates () const
 Get the number of Date objects in this ModelHistory object's list of "modified dates". More...
 
bool hasRequiredAttributes ()
 Predicate returning true if all the required elements for this ModelHistory object have been set. More...
 
bool isSetCreatedDate () const
 Predicate returning true or false depending on whether this ModelHistory's "creation date" is set. More...
 
bool isSetModifiedDate () const
 Predicate returning true or false depending on whether this ModelHistory's "modified date" is set. More...
 
 ModelHistory ()
 Creates a new ModelHistory object. More...
 
 ModelHistory (const ModelHistory &orig)
 Copy constructor; creates a copy of this ModelHistory object. More...
 
ModelHistoryoperator= (const ModelHistory &rhs)
 Assignment operator for ModelHistory. More...
 
int setCreatedDate (Date *date)
 Sets the creation date of this ModelHistory object. More...
 
int setModifiedDate (Date *date)
 Sets the modification date of this ModelHistory object. More...
 
 ~ModelHistory ()
 Destroys this ModelHistory object. More...
 

Constructor & Destructor Documentation

◆ ModelHistory() [1/2]

ModelHistory::ModelHistory ( )

Creates a new ModelHistory object.

◆ ~ModelHistory()

ModelHistory::~ModelHistory ( )

Destroys this ModelHistory object.

◆ ModelHistory() [2/2]

ModelHistory::ModelHistory ( const ModelHistory orig)

Copy constructor; creates a copy of this ModelHistory object.

Parameters
origthe object to copy.

Member Function Documentation

◆ addCreator()

int ModelHistory::addCreator ( ModelCreator mc)

Adds a copy of a ModelCreator object to the list of "model creator" values stored in this ModelHistory object.

In the MIRIAM format for annotations, there can be multiple model creators. The libSBML ModelHistory class supports this by storing a list of "model creator" values.

Parameters
mcthe ModelCreator to add.
Returns
integer value indicating success/failure of the function. The value is drawn from the enumeration OperationReturnValues_t. The possible values returned by this function are:
Examples
addModelHistory.cpp.

◆ addModifiedDate()

int ModelHistory::addModifiedDate ( Date date)

Adds a copy of a Date object to the list of "modified date" values stored in this ModelHistory object.

In the MIRIAM format for annotations, there can be multiple modification dates. The libSBML ModelHistory class supports this by storing a list of "modified date" values.

Parameters
datea Date object representing the "modified date" that should be added to this ModelHistory object.
Returns
integer value indicating success/failure of the function. The value is drawn from the enumeration OperationReturnValues_t. The possible values returned by this function are:

◆ clone()

ModelHistory * ModelHistory::clone ( ) const

Creates and returns a deep copy of this ModelHistory object.

Returns
the (deep) copy of this ModelHistory object.

◆ getCreatedDate()

Date * ModelHistory::getCreatedDate ( )

Returns the "creation date" portion of this ModelHistory object.

Returns
a Date object representing the creation date stored in this ModelHistory object.

◆ getCreator()

ModelCreator * ModelHistory::getCreator ( unsigned int  n)

Get the nth ModelCreator object stored in this ModelHistory object.

In the MIRIAM format for annotations, there can be multiple model creators. The libSBML ModelHistory class supports this by storing a list of "model creator" values.

Returns
the nth ModelCreator object or NULL if no such object exists.

◆ getListCreators()

List * ModelHistory::getListCreators ( )

Returns the list of ModelCreator objects stored in this ModelHistory object.

In the MIRIAM format for annotations, there can be multiple model creators. The libSBML ModelHistory class supports this by storing a list of "model creator" values.

Returns
the list of ModelCreator objects.

◆ getListModifiedDates()

List * ModelHistory::getListModifiedDates ( )

Returns the list of "modified date" values (as Date objects) stored in this ModelHistory object.

In the MIRIAM format for annotations, there can be multiple modification dates. The libSBML ModelHistory class supports this by storing a list of "modified date" values.

Returns
the list of modification dates for this ModelHistory object.

◆ getModifiedDate() [1/2]

Date * ModelHistory::getModifiedDate ( )

Returns the "modified date" portion of this ModelHistory object.

Note that in the MIRIAM format for annotations, there can be multiple modification dates. The libSBML ModelHistory class supports this by storing a list of "modified date" values. If this ModelHistory object contains more than one "modified date" value in the list, this method will return the first one in the list.

Returns
a Date object representing the date of modification stored in this ModelHistory object.

◆ getModifiedDate() [2/2]

Date * ModelHistory::getModifiedDate ( unsigned int  n)

Get the nth Date object in the list of "modified date" values stored in this ModelHistory object.

In the MIRIAM format for annotations, there can be multiple modification dates. The libSBML ModelHistory class supports this by storing a list of "modified date" values.

Returns
the nth Date in the list of ModifiedDates of this ModelHistory or NULL if no such object exists.

◆ getNumCreators()

unsigned int ModelHistory::getNumCreators ( ) const

Get the number of ModelCreator objects stored in this ModelHistory object.

In the MIRIAM format for annotations, there can be multiple model creators. The libSBML ModelHistory class supports this by storing a list of "model creator" values.

Returns
the number of ModelCreators objects.

◆ getNumModifiedDates()

unsigned int ModelHistory::getNumModifiedDates ( ) const

Get the number of Date objects in this ModelHistory object's list of "modified dates".

In the MIRIAM format for annotations, there can be multiple modification dates. The libSBML ModelHistory class supports this by storing a list of "modified date" values.

Returns
the number of ModifiedDates in this ModelHistory.

◆ hasRequiredAttributes()

bool ModelHistory::hasRequiredAttributes ( )

Predicate returning true if all the required elements for this ModelHistory object have been set.

The required elements for a ModelHistory object are "created name", "modified date", and at least one "model creator".

Returns
a boolean value indicating whether all the required elements for this object have been defined.

◆ isSetCreatedDate()

bool ModelHistory::isSetCreatedDate ( ) const

Predicate returning true or false depending on whether this ModelHistory's "creation date" is set.

Returns
true if the creation date value of this ModelHistory is set, false otherwise.

◆ isSetModifiedDate()

bool ModelHistory::isSetModifiedDate ( ) const

Predicate returning true or false depending on whether this ModelHistory's "modified date" is set.

Returns
true if the modification date value of this ModelHistory object is set, false otherwise.

◆ operator=()

ModelHistory & ModelHistory::operator= ( const ModelHistory rhs)

Assignment operator for ModelHistory.

Parameters
rhsthe object whose values are used as the basis of the assignment.

◆ setCreatedDate()

int ModelHistory::setCreatedDate ( Date date)

Sets the creation date of this ModelHistory object.

Parameters
datea Date object representing the date to which the "created date" portion of this ModelHistory should be set.
Returns
integer value indicating success/failure of the function. The value is drawn from the enumeration OperationReturnValues_t. The possible values returned by this function are:
Examples
addModelHistory.cpp.

◆ setModifiedDate()

int ModelHistory::setModifiedDate ( Date date)

Sets the modification date of this ModelHistory object.

Parameters
datea Date object representing the date to which the "modified date" portion of this ModelHistory should be set.
Returns
integer value indicating success/failure of the function. The value is drawn from the enumeration OperationReturnValues_t. The possible values returned by this function are:
Examples
addModelHistory.cpp.