Chemical Data Processing Library Python API - Version 1.2.0
Classes | Static Public Member Functions | Static Public Attributes | List of all members
CDPL.Chem.MoleculeIOManager Class Reference

A singleton class that serves as a global registry for Chem.MoleculeInputHandler and Chem.MoleculeOutputHandler implementation instances. More...

+ Inheritance diagram for CDPL.Chem.MoleculeIOManager:

Classes

class  InputHandlerSequence
 
class  OutputHandlerSequence
 

Static Public Member Functions

None registerInputHandler (MoleculeInputHandler handler)
 Registers the specified Chem.MoleculeInputHandler implementation instance. More...
 
MoleculeInputHandler getInputHandler (int idx)
 Returns a reference to the registered Chem.MoleculeInputHandler implementation instance with the specified index. More...
 
MoleculeInputHandler getInputHandlerByFormat (Base.DataFormat fmt)
 Returns a reference to a Chem.MoleculeInputHandler implementation instance registered for the specified data format. More...
 
MoleculeInputHandler getInputHandlerByName (str name)
 Returns a reference to a Chem.MoleculeInputHandler implementation instance registered for the data format with the specified name. More...
 
MoleculeInputHandler getInputHandlerByFileExtension (str file_ext)
 Returns a reference to a Chem.MoleculeInputHandler implementation instance registered for the data format with the specified file extension. More...
 
MoleculeInputHandler getInputHandlerByFileName (str file_name)
 Returns a reference to a Chem.MoleculeInputHandler implementation instance registered for the data format matching the extension of file_name. More...
 
MoleculeInputHandler getInputHandlerByMimeType (str mime_type)
 Returns a reference to a Chem.MoleculeInputHandler implementation instance registered for the data format with the specified mime-type. More...
 
bool unregisterInputHandler (Base.DataFormat fmt)
 Unregisters the Chem.MoleculeInputHandler implementation instance for the specified data format. More...
 
None unregisterInputHandler (int idx)
 Unregisters the Chem.MoleculeInputHandler implementation instance with the specified index. More...
 
bool unregisterInputHandler (MoleculeInputHandler handler)
 Unregisters the specified Chem.MoleculeInputHandler implementation instance. More...
 
int getNumInputHandlers ()
 Returns the number of registered Chem.MoleculeInputHandler implementation instances. More...
 
InputHandlerSequence getInputHandlers ()
 
None registerOutputHandler (MoleculeOutputHandler handler)
 Registers the specified Chem.MoleculeOutputHandler implementation instance. More...
 
MoleculeOutputHandler getOutputHandler (int idx)
 Returns a reference to the registered Chem.MoleculeOutputHandler implementation instance with the specified index. More...
 
MoleculeOutputHandler getOutputHandlerByFormat (Base.DataFormat fmt)
 Returns a reference to a Chem.MoleculeOutputHandler implementation instance registered for the specified data format. More...
 
MoleculeOutputHandler getOutputHandlerByName (str name)
 Returns a reference to a Chem.MoleculeOutputHandler implementation instance registered for the data format with the specified name. More...
 
MoleculeOutputHandler getOutputHandlerByFileExtension (str file_ext)
 Returns a reference to a Chem.MoleculeOutputHandler implementation instance registered for the data format with the specified file extension. More...
 
MoleculeOutputHandler getOutputHandlerByFileName (str file_name)
 Returns a reference to a Chem.MoleculeOutputHandler implementation instance registered for the data format matching the extension of file_name. More...
 
MoleculeOutputHandler getOutputHandlerByMimeType (str mime_type)
 Returns a reference to a Chem.MoleculeOutputHandler implementation instance registered for the data format with the specified mime-type. More...
 
bool unregisterOutputHandler (Base.DataFormat fmt)
 Unregisters the Chem.MoleculeOutputHandler implementation instance for the specified data format. More...
 
None unregisterOutputHandler (int idx)
 Unregisters the Chem.MoleculeOutputHandler implementation instance with the specified index. More...
 
bool unregisterOutputHandler (MoleculeOutputHandler handler)
 Unregisters the specified Chem.MoleculeOutputHandler implementation instance. More...
 
int getNumOutputHandlers ()
 Returns the number of registered Chem.MoleculeOutputHandler implementation instances. More...
 
OutputHandlerSequence getOutputHandlers ()
 

Static Public Attributes

 inputHandlers = _HIDDEN_VALUE_
 
int numInputHandlers = 30
 
 outputHandlers = _HIDDEN_VALUE_
 
int numOutputHandlers = 0
 

Detailed Description

A singleton class that serves as a global registry for Chem.MoleculeInputHandler and Chem.MoleculeOutputHandler implementation instances.

DataIOManager provides static methods for the registration and lookup of Chem.MoleculeInputHandler and Chem.MoleculeOutputHandler implementation instances that handle different input and output storage formats.

Input and output handlers are registered by the methods registerInputHandler() and registerOutputHandler(). These methods expect a reference to an instance of the respective handler implementation as an argument (please note that the registered instance must not be destroyed as long as it is accessible via the DataIOManager interface!).

For the removal of registered handlers the unregisterInputHandler() and unregisterOutputHandler() family of overloaded methods is provided. These methods accept a reference to the registered handler instance, the handler index, the handled data format or an iterator pointing to the handler as an argument.

Registered input handlers can be queried by the methods getInputHandlerByFormat(), getInputHandlerByName(), getInputHandlerByFileExtension() and getInputHandlerByMimeType(), which allow to find a suitable handler for a given data format, data format name, file extension or mime-type. For the registered output handlers similar methods are provided.

I/O handlers for data formats and object types supported by the CDPL are registered in the static library initialization code. These built-in handlers are accessible by the linking client code as soon as the library initialization has finished.

Member Function Documentation

◆ registerInputHandler()

None CDPL.Chem.MoleculeIOManager.registerInputHandler ( MoleculeInputHandler  handler)
static

Registers the specified Chem.MoleculeInputHandler implementation instance.

Parameters
handlerThe Chem.MoleculeInputHandler implementation instance to register.

◆ getInputHandler()

MoleculeInputHandler CDPL.Chem.MoleculeIOManager.getInputHandler ( int  idx)
static

Returns a reference to the registered Chem.MoleculeInputHandler implementation instance with the specified index.

Parameters
idxThe zero-based index of the Chem.MoleculeInputHandler implementation instance to return.
Returns
A reference to the Chem.MoleculeInputHandler implementation instance with the specified index.
Exceptions
Base.IndexErrorif idx is out of bounds.

◆ getInputHandlerByFormat()

MoleculeInputHandler CDPL.Chem.MoleculeIOManager.getInputHandlerByFormat ( Base.DataFormat  fmt)
static

Returns a reference to a Chem.MoleculeInputHandler implementation instance registered for the specified data format.

Parameters
fmtSpecifies the data format that is associated with the requested Chem.MoleculeInputHandler implementation instance.
Returns
A reference to a Chem.MoleculeInputHandler implementation instance registered for the specified data format, or None if not available.

◆ getInputHandlerByName()

MoleculeInputHandler CDPL.Chem.MoleculeIOManager.getInputHandlerByName ( str  name)
static

Returns a reference to a Chem.MoleculeInputHandler implementation instance registered for the data format with the specified name.

Parameters
nameSpecifies the name of the data format that is associated with the requested Chem.MoleculeInputHandler implementation instance.
Returns
A reference to a Chem.MoleculeInputHandler implementation instance registered for the data format with the specified name, or None if not available.
Note
The matching of the name is not case-sensitive.

◆ getInputHandlerByFileExtension()

MoleculeInputHandler CDPL.Chem.MoleculeIOManager.getInputHandlerByFileExtension ( str  file_ext)
static

Returns a reference to a Chem.MoleculeInputHandler implementation instance registered for the data format with the specified file extension.

Parameters
file_extSpecifies the file extension of the data format that is associated with the requested Chem.MoleculeInputHandler implementation instance.
Returns
A reference to a Chem.MoleculeInputHandler implementation instance registered for the data format with the specified file extension, or None if not available.
Note
The matching of the file extension is not case-sensitive.

◆ getInputHandlerByFileName()

MoleculeInputHandler CDPL.Chem.MoleculeIOManager.getInputHandlerByFileName ( str  file_name)
static

Returns a reference to a Chem.MoleculeInputHandler implementation instance registered for the data format matching the extension of file_name.

Parameters
file_nameSpecifies the file name for which to search for a data format that matches its extension.
Returns
A reference to a Chem.MoleculeInputHandler implementation instance registered for the data format matching the extension of file_name, or None if not available.
Note
The matching of the file extension is not case-sensitive.

◆ getInputHandlerByMimeType()

MoleculeInputHandler CDPL.Chem.MoleculeIOManager.getInputHandlerByMimeType ( str  mime_type)
static

Returns a reference to a Chem.MoleculeInputHandler implementation instance registered for the data format with the specified mime-type.

Parameters
mime_typeSpecifies the mime-type of the data format that is associated with the requested Chem.MoleculeInputHandler implementation instance.
Returns
A reference to a Chem.MoleculeInputHandler implementation instance registered for the data format with the specified mime-type, or None if not available.
Note
The matching of the mime-type is not case-sensitive.

◆ unregisterInputHandler() [1/3]

bool CDPL.Chem.MoleculeIOManager.unregisterInputHandler ( Base.DataFormat  fmt)
static

Unregisters the Chem.MoleculeInputHandler implementation instance for the specified data format.

Only one handler instance at a time will be unregistered (in a first in - first out manner). If more than one handler instance has been registered for the given data format, the method has to be called multiple times to unregister all instances.

Parameters
fmtSpecifies the data format that is associated with the handler instance to unregister.
Returns
True if a handler instance for the specified data format was found and has been unregistered, and False otherwise.

◆ unregisterInputHandler() [2/3]

None CDPL.Chem.MoleculeIOManager.unregisterInputHandler ( int  idx)
static

Unregisters the Chem.MoleculeInputHandler implementation instance with the specified index.

Parameters
idxThe zero-based index of the Chem.MoleculeInputHandler implementation instance to unregister.
Exceptions
Base.IndexErrorif idx is out of bounds.

◆ unregisterInputHandler() [3/3]

bool CDPL.Chem.MoleculeIOManager.unregisterInputHandler ( MoleculeInputHandler  handler)
static

Unregisters the specified Chem.MoleculeInputHandler implementation instance.

Parameters
handlerThe Chem.MoleculeInputHandler implementation instance to unregister.
Returns
True if the handler instance was found and has been unregistered, and False otherwise.

◆ getNumInputHandlers()

int CDPL.Chem.MoleculeIOManager.getNumInputHandlers ( )
static

Returns the number of registered Chem.MoleculeInputHandler implementation instances.

Returns
The number of registered Chem.MoleculeInputHandler implementation instances.

◆ getInputHandlers()

InputHandlerSequence CDPL.Chem.MoleculeIOManager.getInputHandlers ( )
static
Parameters
<br>
Returns

◆ registerOutputHandler()

None CDPL.Chem.MoleculeIOManager.registerOutputHandler ( MoleculeOutputHandler  handler)
static

Registers the specified Chem.MoleculeOutputHandler implementation instance.

Parameters
handlerThe Chem.MoleculeOutputHandler implementation instance to register.

◆ getOutputHandler()

MoleculeOutputHandler CDPL.Chem.MoleculeIOManager.getOutputHandler ( int  idx)
static

Returns a reference to the registered Chem.MoleculeOutputHandler implementation instance with the specified index.

Parameters
idxThe zero-based index of the Chem.MoleculeOutputHandler implementation instance to return.
Returns
A reference to the Chem.MoleculeOutputHandler implementation instance with the specified index.
Exceptions
Base.IndexErrorif idx is out of bounds.

◆ getOutputHandlerByFormat()

MoleculeOutputHandler CDPL.Chem.MoleculeIOManager.getOutputHandlerByFormat ( Base.DataFormat  fmt)
static

Returns a reference to a Chem.MoleculeOutputHandler implementation instance registered for the specified data format.

Parameters
fmtSpecifies the data format that is associated with the requested Chem.MoleculeOutputHandler implementation instance.
Returns
A reference to a Chem.MoleculeOutputHandler implementation instance registered for the specified data format, or None if not available.

◆ getOutputHandlerByName()

MoleculeOutputHandler CDPL.Chem.MoleculeIOManager.getOutputHandlerByName ( str  name)
static

Returns a reference to a Chem.MoleculeOutputHandler implementation instance registered for the data format with the specified name.

Parameters
nameSpecifies the name of the data format that is associated with the requested Chem.MoleculeOutputHandler implementation instance.
Returns
A reference to a Chem.MoleculeOutputHandler implementation instance registered for the data format with the specified name, or None if not available.
Note
The matching of the name is not case-sensitive.

◆ getOutputHandlerByFileExtension()

MoleculeOutputHandler CDPL.Chem.MoleculeIOManager.getOutputHandlerByFileExtension ( str  file_ext)
static

Returns a reference to a Chem.MoleculeOutputHandler implementation instance registered for the data format with the specified file extension.

Parameters
file_extSpecifies the file extension of the data format that is associated with the requested Chem.MoleculeOutputHandler implementation instance.
Returns
A reference to a Chem.MoleculeOutputHandler implementation instance registered for the data format with the specified file extension, or None if not available.
Note
The matching of the file extension is not case-sensitive.

◆ getOutputHandlerByFileName()

MoleculeOutputHandler CDPL.Chem.MoleculeIOManager.getOutputHandlerByFileName ( str  file_name)
static

Returns a reference to a Chem.MoleculeOutputHandler implementation instance registered for the data format matching the extension of file_name.

Parameters
file_nameSpecifies the file name for which to search for a data format that matches its extension.
Returns
A reference to a Chem.MoleculeOutputHandler implementation instance registered for the data format matching the extension of file_name, or None if not available.
Note
The matching of the file extension is not case-sensitive.

◆ getOutputHandlerByMimeType()

MoleculeOutputHandler CDPL.Chem.MoleculeIOManager.getOutputHandlerByMimeType ( str  mime_type)
static

Returns a reference to a Chem.MoleculeOutputHandler implementation instance registered for the data format with the specified mime-type.

Parameters
mime_typeSpecifies the mime-type of the data format that is associated with the requested Chem.MoleculeOutputHandler implementation instance.
Returns
A reference to a Chem.MoleculeOutputHandler implementation instance registered for the data format with the specified mime-type, or None if not available.
Note
The matching of the mime-type is not case-sensitive.

◆ unregisterOutputHandler() [1/3]

bool CDPL.Chem.MoleculeIOManager.unregisterOutputHandler ( Base.DataFormat  fmt)
static

Unregisters the Chem.MoleculeOutputHandler implementation instance for the specified data format.

Only one handler instance at a time will be unregistered (in a first in - first out manner). If more than one handler instance has been registered for the given data format, the method has to be called multiple times to unregister all instances.

Parameters
fmtSpecifies the data format that is associated with the handler instance to unregister.
Returns
True if a handler instance for the specified data format was found and has been unregistered, and False otherwise.

◆ unregisterOutputHandler() [2/3]

None CDPL.Chem.MoleculeIOManager.unregisterOutputHandler ( int  idx)
static

Unregisters the Chem.MoleculeOutputHandler implementation instance with the specified index.

Parameters
idxThe zero-based index of the Chem.MoleculeOutputHandler implementation instance to unregister.
Exceptions
Base.IndexErrorif idx is out of bounds.

◆ unregisterOutputHandler() [3/3]

bool CDPL.Chem.MoleculeIOManager.unregisterOutputHandler ( MoleculeOutputHandler  handler)
static

Unregisters the specified Chem.MoleculeOutputHandler implementation instance.

Parameters
handlerThe Chem.MoleculeOutputHandler implementation instance to unregister.
Returns
True if the handler instance was found and has been unregistered, and False otherwise.

◆ getNumOutputHandlers()

int CDPL.Chem.MoleculeIOManager.getNumOutputHandlers ( )
static

Returns the number of registered Chem.MoleculeOutputHandler implementation instances.

Returns
The number of registered Chem.MoleculeOutputHandler implementation instances.

◆ getOutputHandlers()

OutputHandlerSequence CDPL.Chem.MoleculeIOManager.getOutputHandlers ( )
static
Parameters
<br>
Returns