libSBML C++ API  5.20.2
SBasePluginCreatorBase Class Referenceabstract
Inheritance diagram for SBasePluginCreatorBase:
[legend]

Detailed Description

Base class of SBasePluginCreator.

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.

This is the base class of the SBasePluginCreator template class. This contains virtual methods that need to be overridden by subclasses.

Public Types

typedef std::vector< std::string > SupportedPackageURIList
 
typedef std::vector< std::string >::iterator SupportedPackageURIListIter
 

Public Member Functions

virtual SBasePluginCreatorBaseclone () const =0
 Creates and returns a deep copy of this SBasePluginCreatorBase. More...
 
virtual SBasePlugincreatePlugin (const std::string &uri, const std::string &prefix, const XMLNamespaces *xmlns) const =0
 Creates an SBasePlugin object with a URI and package prefix. More...
 
unsigned int getNumOfSupportedPackageURI () const
 Returns the number of package URIs supported by this creator object. More...
 
std::string getSupportedPackageURI (unsigned int i) const
 Returns the URI of the ith package supported by this creator object. More...
 
const SBaseExtensionPointgetTargetExtensionPoint () const
 Returns an SBaseExtensionPoint object tied to this creator object. More...
 
const std::string & getTargetPackageName () const
 Returns the target package name of this creator object. More...
 
int getTargetSBMLTypeCode () const
 Returns a libSBML type code tied to this creator object. More...
 
bool isSupported (const std::string &uri) const
 Returns true if a package with the given namespace URI is supported. More...
 
virtual ~SBasePluginCreatorBase ()
 Destroys this SBasePluginCreatorBase object. More...
 

Protected Member Functions

 SBasePluginCreatorBase (const SBaseExtensionPoint &extPoint, const std::vector< std::string > &)
 Constructor. More...
 
 SBasePluginCreatorBase (const SBasePluginCreatorBase &orig)
 Copy Constructor. More...
 

Member Typedef Documentation

◆ SupportedPackageURIList

typedef std::vector<std::string> SBasePluginCreatorBase::SupportedPackageURIList

◆ SupportedPackageURIListIter

typedef std::vector<std::string>::iterator SBasePluginCreatorBase::SupportedPackageURIListIter

Constructor & Destructor Documentation

◆ ~SBasePluginCreatorBase()

virtual SBasePluginCreatorBase::~SBasePluginCreatorBase ( )
virtual

Destroys this SBasePluginCreatorBase object.

◆ SBasePluginCreatorBase() [1/2]

SBasePluginCreatorBase::SBasePluginCreatorBase ( const SBaseExtensionPoint extPoint,
const std::vector< std::string > &   
)
protected

Constructor.

◆ SBasePluginCreatorBase() [2/2]

SBasePluginCreatorBase::SBasePluginCreatorBase ( const SBasePluginCreatorBase orig)
protected

Copy Constructor.

Parameters
origthe instance to copy.

Member Function Documentation

◆ clone()

virtual SBasePluginCreatorBase* SBasePluginCreatorBase::clone ( ) const
pure virtual

Creates and returns a deep copy of this SBasePluginCreatorBase.

Returns
a (deep) copy of this SBasePluginCreatorBase.

Implemented in SBasePluginCreator< SBasePluginType, SBMLExtensionType >.

◆ createPlugin()

virtual SBasePlugin* SBasePluginCreatorBase::createPlugin ( const std::string &  uri,
const std::string &  prefix,
const XMLNamespaces xmlns 
) const
pure virtual

Creates an SBasePlugin object with a URI and package prefix.

Parameters
urithe XML namespace URI for the SBML package.
prefixthe namespace prefix.
xmlnsan XMLNamespaces object that identifies namespaces in use by this package extension.

Implemented in SBasePluginCreator< SBasePluginType, SBMLExtensionType >.

◆ getNumOfSupportedPackageURI()

unsigned int SBasePluginCreatorBase::getNumOfSupportedPackageURI ( ) const

Returns the number of package URIs supported by this creator object.

Returns
the number of package URIs supported.
See also
getSupportedPackageURI()

◆ getSupportedPackageURI()

std::string SBasePluginCreatorBase::getSupportedPackageURI ( unsigned int  i) const

Returns the URI of the ith package supported by this creator object.

Parameters
ithe index of the URI being sought.
Returns
the URI being sought, in the form of a string. If no such URI exists, this method will return an empty string.
See also
getNumOfSupportedPackageURI()

◆ getTargetExtensionPoint()

const SBaseExtensionPoint& SBasePluginCreatorBase::getTargetExtensionPoint ( ) const

Returns an SBaseExtensionPoint object tied to this creator object.

Returns
the extension point associated with this creator object.

◆ getTargetPackageName()

const std::string& SBasePluginCreatorBase::getTargetPackageName ( ) const

Returns the target package name of this creator object.

Returns
a string, the package name.

◆ getTargetSBMLTypeCode()

int SBasePluginCreatorBase::getTargetSBMLTypeCode ( ) const

Returns a libSBML type code tied to this creator object.

Returns
the integer type code.

◆ isSupported()

bool SBasePluginCreatorBase::isSupported ( const std::string &  uri) const

Returns true if a package with the given namespace URI is supported.

Parameters
urithe XML namespace URI to test.
Returns
true if the URI applies to this package extension, false otherwise.