libSBML C++ API
5.20.2
|
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.
LibSBML provides facilities for transforming and converting SBML documents in various ways. 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. Converters are implemented as objects derived from the class SBMLConverter.
The converter registry, implemented as a singleton object of class SBMLConverterRegistry, maintains a list of known converters and provides methods for discovering them. Callers can use the method SBMLConverterRegistry::getNumConverters() to find out how many converters are registered, then use SBMLConverterRegistry::getConverterByIndex() to iterate over each one; alternatively, callers can use SBMLConverterRegistry::getConverterFor() to search for a converter having specific properties.
Public Member Functions | |
int | addConverter (const SBMLConverter *converter) |
Adds the given converter to the registry of SBML converters. More... | |
SBMLConverter * | getConverterByIndex (int index) const |
Returns the converter with the given index number. More... | |
SBMLConverter * | getConverterFor (const ConversionProperties &props) const |
Returns the converter that best matches the given configuration properties. More... | |
int | getNumConverters () const |
Returns the number of converters known by the registry. More... | |
virtual | ~SBMLConverterRegistry () |
Destructor. More... | |
Static Public Member Functions | |
static SBMLConverterRegistry & | getInstance () |
Returns the singleton instance for the converter registry. More... | |
|
virtual |
Destructor.
int SBMLConverterRegistry::addConverter | ( | const SBMLConverter * | converter | ) |
Adds the given converter to the registry of SBML converters.
converter | the converter to add to the registry. |
SBMLConverter * SBMLConverterRegistry::getConverterByIndex | ( | int | index | ) | const |
Returns the converter with the given index number.
Converters are given arbitrary index numbers by the registry. Callers can use the method SBMLConverterRegistry::getNumConverters() to find out how many converters are registered, then use this method to iterate over the list and obtain each one in turn.
index | the zero-based index of the converter to fetch. |
NULL
if the number is less than 0
or there is no converter at the given index position. SBMLConverter * SBMLConverterRegistry::getConverterFor | ( | const ConversionProperties & | props | ) | const |
Returns the converter that best matches the given configuration properties.
Many converters provide the ability to configure their behavior. This is realized through the use of properties that offer different options. The present method allows callers to search for converters that have specific property values. Callers can do this by creating a ConversionProperties object, adding the desired option(s) to the object, then passing the object to this method.
props | a ConversionProperties object defining the properties to match against. |
NULL
if no suitable converter is found.
|
static |
Returns the singleton instance for the converter registry.
Prior to using the registry, callers have to obtain a copy of the registry. This static method provides the means for doing that.
int SBMLConverterRegistry::getNumConverters | ( | ) | const |
Returns the number of converters known by the registry.