libSBML C++ API  libSBML 5.8.0 C++ API
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
SBMLConverter Class Reference
Inheritance diagram for SBMLConverter:
[legend]

Detailed Description

Base class for SBML converters.

This class of objects is defined by libSBML only and has no direct equivalent in terms of SBML components. It is a class used in the implementation of extra functionality provided by libSBML.

The SBMLConverter class is the base class for the various SBML converters: classes of objects that transform or convert SBML documents. These transformations can involve essentially anything that can be written algorithmically; examples include converting the units of measurement in a model, or converting from one Level+Version combination of SBML to another.

LibSBML provides a number of built-in converters, and applications can create their own by subclassing SBMLConverter and following the examples of the existing converters. The following are the built-in converters in libSBML 5.8.0 :

Many converters provide the ability to configure their behavior to some extent. This is realized through the use of properties that offer different options. Two related classes implement these features: ConversionProperties and ConversionOptions. The default property values for each converter can be interrogated using the method SBMLConverter::getDefaultProperties() on the converter class.

Public Member Functions

virtual SBMLConverterclone () const
 Creates and returns a deep copy of this SBMLConverter object. More...
 
virtual int convert ()
 Perform the conversion. More...
 
virtual ConversionProperties getDefaultProperties () const
 Returns the default properties of this converter. More...
 
virtual SBMLDocumentgetDocument ()
 Returns the SBML document that is the subject of the conversions. More...
 
virtual const SBMLDocumentgetDocument () const
 Returns the SBML document that is the subject of the conversions. More...
 
virtual ConversionPropertiesgetProperties () const
 Returns the current properties in effect for this converter. More...
 
virtual SBMLNamespacesgetTargetNamespaces ()
 Returns the target SBML namespaces of the currently set properties. More...
 
virtual bool matchesProperties (const ConversionProperties &props) const
 Predicate returning true if this converter's properties matches a given set of configuration properties. More...
 
SBMLConverteroperator= (const SBMLConverter &rhs)
 Assignment operator for SBMLConverter. More...
 
 SBMLConverter ()
 Creates a new SBMLConverter object. More...
 
 SBMLConverter (const SBMLConverter &c)
 Copy constructor; creates a copy of an SBMLConverter object. More...
 
virtual int setDocument (const SBMLDocument *doc)
 Sets the current SBML document to the given SBMLDocument object. More...
 
virtual int setProperties (const ConversionProperties *props)
 Sets the configuration properties to be used by this converter. More...
 
virtual ~SBMLConverter ()
 Destroy this SBMLConverter object. More...
 

Constructor & Destructor Documentation

SBMLConverter::SBMLConverter ( )

Creates a new SBMLConverter object.

SBMLConverter::SBMLConverter ( const SBMLConverter c)

Copy constructor; creates a copy of an SBMLConverter object.

Parameters
cthe SBMLConverter object to copy.
Exceptions
SBMLConstructorExceptionThrown if the argument orig is NULL.
SBMLConverter::~SBMLConverter ( )
virtual

Destroy this SBMLConverter object.

Member Function Documentation

SBMLConverter * SBMLConverter::clone ( ) const
virtual
int SBMLConverter::convert ( )
virtual

Perform the conversion.

This method causes the converter to do the actual conversion work, that is, to convert the SBMLDocument object set by SBMLConverter::setDocument() and with the configuration options set by SBMLConverter::setProperties().

Returns
integer value indicating the success/failure of the operation. The value is drawn from the enumeration OperationReturnValues_t. The set of possible values that may be returned depends on the converter subclass; please consult the documentation for the relevant class to find out what the possibilities are.

Reimplemented in SBMLRuleConverter, SBMLLevelVersionConverter, SBMLUnitsConverter, SBMLInitialAssignmentConverter, SBMLStripPackageConverter, SBMLFunctionDefinitionConverter, and CompFlatteningConverter.

ConversionProperties SBMLConverter::getDefaultProperties ( ) const
virtual

Returns the default properties of this converter.

A given converter exposes one or more properties that can be adjusted in order to influence the behavior of the converter. This method returns the default property settings for this converter. It is meant to be called in order to discover all the settings for the converter object. The run-time properties of the converter object can be adjusted by using the method SBMLConverter::setProperties(const ConversionProperties *props).

Returns
the default properties for the converter.
See Also
setProperties()
matchesProperties()

Reimplemented in SBMLRuleConverter, SBMLLevelVersionConverter, SBMLUnitsConverter, SBMLInitialAssignmentConverter, SBMLStripPackageConverter, SBMLFunctionDefinitionConverter, and CompFlatteningConverter.

SBMLDocument * SBMLConverter::getDocument ( )
virtual

Returns the SBML document that is the subject of the conversions.

Returns
the current SBMLDocument object.
const SBMLDocument * SBMLConverter::getDocument ( ) const
virtual

Returns the SBML document that is the subject of the conversions.

Returns
the current SBMLDocument object, as a const reference.
ConversionProperties * SBMLConverter::getProperties ( ) const
virtual

Returns the current properties in effect for this converter.

A given converter exposes one or more properties that can be adjusted in order to influence the behavior of the converter. This method returns the current properties for this converter; in other words, the settings in effect at this moment. To change the property values, you can use SBMLConverter::setProperties(const ConversionProperties *props).

Returns
the currently set configuration properties.
See Also
setProperties()
matchesProperties()
SBMLNamespaces * SBMLConverter::getTargetNamespaces ( )
virtual

Returns the target SBML namespaces of the currently set properties.

SBML namespaces are used by libSBML to express the Level+Version of the SBML document (and, possibly, any SBML Level 3 packages in use). Some converters' behavior is affected by the SBML namespace configured in the converter. For example, the actions of SBMLLevelVersionConverter, the converter for converting SBML documents from one Level+Version combination to another, are fundamentally dependent on the SBML namespaces being targeted.

Returns
the SBMLNamespaces object that describes the SBML namespaces in effect.
bool SBMLConverter::matchesProperties ( const ConversionProperties props) const
virtual

Predicate returning true if this converter's properties matches a given set of configuration properties.

Parameters
propsthe configuration properties to match.
Returns
true if this converter's properties match, false otherwise.

Reimplemented in SBMLRuleConverter, SBMLUnitsConverter, SBMLLevelVersionConverter, SBMLInitialAssignmentConverter, SBMLStripPackageConverter, SBMLFunctionDefinitionConverter, and CompFlatteningConverter.

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

Assignment operator for SBMLConverter.

Parameters
rhsThe object whose values are used as the basis of the assignment.
Exceptions
SBMLConstructorExceptionThrown if the argument rhs is NULL.
int SBMLConverter::setDocument ( const SBMLDocument doc)
virtual

Sets the current SBML document to the given SBMLDocument object.

Parameters
docthe document to use for this conversion.
Returns
integer value indicating the success/failure of the operation. The value is drawn from the enumeration OperationReturnValues_t. The set of possible values that may be returned ultimately depends on the specific subclass of SBMLConverter being used, but the default method can return the following values:
int SBMLConverter::setProperties ( const ConversionProperties props)
virtual

Sets the configuration properties to be used by this converter.

A given converter exposes one or more properties that can be adjusted in order to influence the behavior of the converter. This method sets the current properties for this converter.

Parameters
propsthe ConversionProperties object defining the properties to set.
Returns
integer value indicating the success/failure of the operation. The value is drawn from the enumeration OperationReturnValues_t. The set of possible values that may be returned ultimately depends on the specific subclass of SBMLConverter being used, but the default method can return the following values:
See Also
getProperties()
matchesProperties()