libSBML Python API  5.11.0
libsbml.RenderExtension Class Reference
Inheritance diagram for libsbml.RenderExtension:
[legend]

Detailed Description

Proxy of C++ RenderExtension class.

Public Member Functions

def __init__ (self, args)
 This method has multiple variants; they differ in the arguments they accept. More...
 
def addL2Namespaces (self, xmlns)
 adds all L2 Extension namespaces to the namespace list. More...
 
def clone (self)
 Creates and returns a deep copy of this RenderExtension object. More...
 
def enableL2NamespaceForDocument (self, doc)
 Adds the L2 Namespace to the document and enables the extension. More...
 
def getDefaultLevel ()
 Returns the default SBML Level this extension. More...
 
def getDefaultPackageVersion ()
 Returns the default SBML version this extension. More...
 
def getDefaultVersion ()
 Returns the default SBML Version this extension. More...
 
def getLevel (self, uri)
 Returns the SBML level with the given URI of this package. More...
 
def getName (self)
 
def getNumOfSBasePlugins (self)
  Core class for SBML Level 3 package plug-ins. More...
 
def getNumOfSupportedPackageURI (self)
 Returns the number of supported package namespace URIs. More...
 
def getPackageName ()
 Proxy of C++ RenderExtension class. More...
 
def getPackageVersion (self, uri)
 Returns the package version with the given URI of this package. More...
 
def getSBMLExtensionNamespaces (self, uri)
 Returns an SBMLExtensionNamespaces<GroupsExtension> object whose alias type is LayoutPkgNamespace. More...
 
def getStringFromTypeCode (self, typeCode)
 This method takes a type code of groups package and returns a string representing the code. More...
 
def getSupportedPackageURI (self, args)
 Returns the nth XML namespace URI. More...
 
def getURI (self, sbmlLevel, sbmlVersion, pkgVersion)
 Returns the URI (namespace) of the package corresponding to the combination of the given sbml level, sbml version, and package version. More...
 
def getURI (self, args)
 Returns the XML namespace URI for a given Level and Version. More...
 
def getVersion (self, uri)
 Returns the SBML version with the given URI of this package. More...
 
def getXmlnsL2 ()
 
def getXmlnsL3V1V1 ()
 Returns URI of supported versions of this package. More...
 
def isEnabled (self)
 Returns True if this package is enabled. More...
 
def isInUse (self, doc)
 Determines whether this extension is being used by the given SBMLDocument. More...
 
def isSupported (self, args)
 Returns True if the given XML namespace URI is supported by this package extension. More...
 
def removeL2Namespaces (self, xmlns)
 Removes the L2 Namespace from a document. More...
 
def setEnabled (self, args)
 Enable or disable this package. More...
 

Constructor & Destructor Documentation

def libsbml.RenderExtension.__init__ (   self,
  args 
)

This method has multiple variants; they differ in the arguments they accept.

__init__()   RenderExtension
__init__(RenderExtension arg2)   RenderExtension

Each variant is described separately below.


Method variant with the following signature:
RenderExtension(RenderExtension&)

Copy constructor.


Method variant with the following signature:
RenderExtension()

Constructor

Member Function Documentation

def libsbml.RenderExtension.addL2Namespaces (   self,
  xmlns 
)

adds all L2 Extension namespaces to the namespace list.

addL2Namespaces(XMLNamespaces xmlns)

This method should be overridden by all extensions that want to serialize to an L2 annotation.

def libsbml.RenderExtension.clone (   self)

Creates and returns a deep copy of this RenderExtension object.

clone()   RenderExtension
Returns
a (deep) copy of this RenderExtension object
def libsbml.RenderExtension.enableL2NamespaceForDocument (   self,
  doc 
)

Adds the L2 Namespace to the document and enables the extension.

enableL2NamespaceForDocument(SBMLDocument doc)

If the extension supports serialization to SBML L2 Annotations, this method should be overrridden, so it will be activated.

def libsbml.RenderExtension.getDefaultLevel ( )

Returns the default SBML Level this extension.

getDefaultLevel()   long
def libsbml.RenderExtension.getDefaultPackageVersion ( )

Returns the default SBML version this extension.

getDefaultPackageVersion()   long
def libsbml.RenderExtension.getDefaultVersion ( )

Returns the default SBML Version this extension.

getDefaultVersion()   long
def libsbml.RenderExtension.getLevel (   self,
  uri 
)

Returns the SBML level with the given URI of this package.

getLevel(string uri)   long
Parameters
urithe string of URI that represents one of versions of layout package
Returns
the SBML level with the given URI of this package. 0 will be returned if the given URI is invalid.
def libsbml.RenderExtension.getName (   self)
getName()   string

Returns the name of this package ('fbc')

the name of this package ('fbc')

def libsbml.SBMLExtension.getNumOfSBasePlugins (   self)
inherited

Core class for SBML Level 3 package plug-ins.

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 SBMLExtension class is a component of the libSBML package extension mechanism. It is an abstract class that is extended by each package extension implementation.

Special handling for SBML LevelĀ 2

Due to the historical background of the SBML Layout package, libSBML implements special behavior for that package: it always creates a Layout plugin object for any SBML Level 2 document it reads in, regardless of whether that document actually uses Layout constructs. This is unlike the case for SBML Level 3 documents that use Layout; for them, libSBML will not create a plugin object unless the document actually declares the use of the Layout package (via the usual Level 3 namespace declaration for Level 3 packages).

This has the following consequence. If an application queries for the presence of Layout in an SBML Level 2 document by testing only for the existence of the plugin object, it will always get a positive result; in other words, the presence of a Layout extension object is not an indication of whether a read-in Level 2 document does or does not use SBML Layout. Instead, callers have to query explicitly for the existence of layout information. An example of such a query is the following code:

1 # Assume 'doc' below is an SBMLDocument object.
2 m = doc.getModel()
3 if m != None:
4 layoutPlugin = m.getPlugin('layout')
5 if layoutPlugin != None:
6  numLayouts = layoutPlugin.getNumLayouts()
7  # If numLayouts is greater than zero, then the model uses Layout.

The special, always-available Level 2 Layout behavior was motivated by a desire to support legacy applications. In SBML Level 3, the Layout package uses the normal SBML Level 3 scheme of requiring declarations on the SBML document element. This means that upon reading a model, libSBML knows right away whether it contains layout information. In SBML Level 2, there is no top-level declaration because layout is stored as annotations in the body of the model. Detecting the presence of layout information when reading a Level 2 model requires parsing the annotations. For efficiency reasons, libSBML normally does not parse annotations automatically when reading a model. However, applications that predated the introduction of Level 3 Layout and the updated version of libSBML never had to do anything special to enable parsing layout; the facilities were always available for every Level 2 model as long as libSBML was compiled with Layout support. To avoid burdening developers of legacy applications with the need to modify their software, libSBML provides backward compatibility by always preloading the Layout package extension when reading Level 2 models. The same applies to the creation of Level 2 models: with the plugin-oriented libSBML, applications normally would have to take deliberate steps to activate package code, instantiate objects, manage namespaces, and so on. LibSBML again loads the Layout package plugin automatically when creating a Level 2 model, thereby making the APIs available to legacy applications without further work on their part.

Returns the number of SBasePluginCreatorBase objects stored in this object.

getNumOfSBasePlugins()   int
Returns
the total number of SBasePluginCreatorBase objects stored in this SBMLExtension-derived object.
def libsbml.SBMLExtension.getNumOfSupportedPackageURI (   self)
inherited

Returns the number of supported package namespace URIs.

getNumOfSupportedPackageURI()   long
Returns
the number of supported package XML namespace URIs of this package extension.
def libsbml.RenderExtension.getPackageName ( )

Proxy of C++ RenderExtension class.

Returns the package name of this extension.

getPackageName()   string
def libsbml.RenderExtension.getPackageVersion (   self,
  uri 
)

Returns the package version with the given URI of this package.

getPackageVersion(string uri)   long
Parameters
urithe string of URI that represents one of versions of layout package
Returns
the package version with the given URI of this package. 0 will be returned if the given URI is invalid.
def libsbml.RenderExtension.getSBMLExtensionNamespaces (   self,
  uri 
)

Returns an SBMLExtensionNamespaces<GroupsExtension> object whose alias type is LayoutPkgNamespace.

getSBMLExtensionNamespaces(string uri)   SBMLNamespaces

Null will be returned if the given uri is not defined in the layout package.

Parameters
urithe string of URI that represents one of versions of layout package
Returns
an LayoutPkgNamespace object corresponding to the given uri. None will be returned if the given URI is not defined in layout package.
def libsbml.RenderExtension.getStringFromTypeCode (   self,
  typeCode 
)

This method takes a type code of groups package and returns a string representing the code.

getStringFromTypeCode(int typeCode)   string
def libsbml.SBMLExtension.getSupportedPackageURI (   self,
  args 
)
inherited

Returns the nth XML namespace URI.

getSupportedPackageURI(long n)   string
Parameters
nthe index number of the namespace URI being sought.
Returns
a string representing the XML namespace URI understood to be supported by this package. An empty string will be returned if there is no nth URI.
def libsbml.RenderExtension.getURI (   self,
  sbmlLevel,
  sbmlVersion,
  pkgVersion 
)

Returns the URI (namespace) of the package corresponding to the combination of the given sbml level, sbml version, and package version.

getURI(long sbmlLevel, long sbmlVersion, long pkgVersion)   string

Empty string will be returned if no corresponding URI exists.

Parameters
sbmlLevelthe level of SBML
sbmlVersionthe version of SBML
pkgVersionthe version of package
Returns
a string of the package URI
def libsbml.SBMLExtension.getURI (   self,
  args 
)
inherited

Returns the XML namespace URI for a given Level and Version.

getURI(long sbmlLevel, long sbmlVersion, long pkgVersion)   string
Parameters
sbmlLevelthe SBML Level.
sbmlVersionthe SBML Version.
pkgVersionthe version of the package.
Returns
a string, the XML namespace URI for the package for the given SBML Level, SBML Version, and package version.
Note
This is a method that package extension implementations must override. See the libSBML documentation on extending libSBML to support SBML packages for more information on this topic.
def libsbml.RenderExtension.getVersion (   self,
  uri 
)

Returns the SBML version with the given URI of this package.

getVersion(string uri)   long
Parameters
urithe string of URI that represents one of versions of layout package
Returns
the SBML version with the given URI of this package. 0 will be returned if the given URI is invalid.
def libsbml.RenderExtension.getXmlnsL2 ( )
getXmlnsL2()   string
 
def libsbml.RenderExtension.getXmlnsL3V1V1 ( )

Returns URI of supported versions of this package.

getXmlnsL3V1V1()   string
def libsbml.SBMLExtension.isEnabled (   self)
inherited

Returns True if this package is enabled.

isEnabled()   bool
Returns
True if this package is enabled, False otherwise.
def libsbml.RenderExtension.isInUse (   self,
  doc 
)

Determines whether this extension is being used by the given SBMLDocument.

The implementation returns true if the list of layouts contains a global render information, or a layout object contains a local render information object.

isInUse(SBMLDocument doc)   bool
Parameters
docthe sbml document to test.
Returns
a boolean indicating whether the extension is actually being used byy the document.
def libsbml.SBMLExtension.isSupported (   self,
  args 
)
inherited

Returns True if the given XML namespace URI is supported by this package extension.

isSupported(string uri)   bool
Returns
True if the given XML namespace URI (equivalent to a package version) is supported by this package extension, False otherwise.
def libsbml.RenderExtension.removeL2Namespaces (   self,
  xmlns 
)

Removes the L2 Namespace from a document.

removeL2Namespaces(XMLNamespaces xmlns)

This method should be overridden by all extensions that want to serialize to an L2 annotation.

def libsbml.SBMLExtension.setEnabled (   self,
  args 
)
inherited

Enable or disable this package.

setEnabled(bool isEnabled)   bool
Parameters
isEnabledflag indicating whether to enable (if True) or disable (False) this package extension.
Returns
True if this call succeeded; False otherwise.