Package com.chemaxon.calculations.cli
Class CalculatorPluginOutput<P extends CalculatorPlugin>
java.lang.Object
chemaxon.marvin.plugin.CalculatorPluginService<P>
com.chemaxon.calculations.cli.CalculatorPluginOutput<P>
- All Implemented Interfaces:
CalculatorResultAccess
@PublicApi
public class CalculatorPluginOutput<P extends CalculatorPlugin>
extends CalculatorPluginService<P>
implements CalculatorResultAccess
Class providing plugin output in table form.
The default implementation provides the following output:
where
| id | <type1> | <type2> | <type3invalid input: '>' | ... |
| <id1> | <result11> | <result12> | <result13> | ... |
| <id2> | <result21> | <result22> | <result23> | ... |
| ... | ... | ... | ... | ... |
type1, type2, ... are the result types,
id1, id2, ... are the molecule ID-s fetched from the given ID tag of the
input SDF file or molecule indices if no such tag is given,
the resultij is the result string for the i-th molecule and the j-th result type.
Other output formats can be implemented by subclassing this class and returning the class name in
the plugin-specific implementation of chemaxon.plugin.CalculatorPlugin.getOutputClassName().- Since:
- Marvin 3.0
-
Field Summary
Fields -
Constructor Summary
ConstructorsConstructorDescriptionDefault constructor.Constructor that sets plugin. -
Method Summary
Modifier and TypeMethodDescriptionvoidclose()Closes the output.voidclose(int opts) Closes the output.getCachedResults(Molecule target, boolean stringResult) Returns cached results, separated from the plugin object, so that no further enqueries needed to the plugin to get the result.Returns the table header.final PReturns the calculator plugin object.Returns the plugin parameter table (this should be set in the plugin).Returns the calculation remark.Returns the result string for the given molecule.intReturns the domain for the first result type.final StringReturns the plugin calculation error message, error or warning.getResultMolecule(Molecule target) Returns the decorated result molecule for the given target molecule.Molecule[]getResultMolecules(Molecule target) Returns the result molecules for the given target molecule.protected StringgetResults(Object type) Returns result items for the given result type.doublegetSpecResult(Molecule target, String arg) Deprecated, for removal: This API element is subject to removal in a future version.final ThrowableReturns the throwable object.booleanReturnstrueif molecule output.booleanisOK()Returnstrueif the calculation has run without error.booleanReturnstrueif stream output.voidsetOutputParameters(Object[] types) Prepares the output based on the result type string.voidSets the output stream.voidsetParameters(Properties params) Sets the parameter table.final voidsetPlugin(CalculatorPlugin plugin) Deprecated, for removal: This API element is subject to removal in a future version.usesetPluginChecked(CalculatorPlugin)insteadfinal voidsetPluginChecked(P plugin) Sets the calculator plugin object.voidsetSeparator(String separator) Sets the separator string.final voidsetThrowable(Throwable throwable) Sets the throwable object.
-
Field Details
-
plugin
The CalculatorPlugin object. -
params
The plugin parameter table. -
separator
The separator string separating the results for different result types.
-
-
Constructor Details
-
CalculatorPluginOutput
public CalculatorPluginOutput()Default constructor. -
CalculatorPluginOutput
Constructor that sets plugin.- Parameters:
plugin- is the plugin
-
-
Method Details
-
setPlugin
@Deprecated(forRemoval=true) @SubjectToRemoval(date=JUL_01_2025) public final void setPlugin(CalculatorPlugin plugin) Deprecated, for removal: This API element is subject to removal in a future version.usesetPluginChecked(CalculatorPlugin)insteadSets the calculator plugin object.- Parameters:
plugin- is the CalculatorPlugin object
-
setPluginChecked
Sets the calculator plugin object.- Parameters:
plugin- is the CalculatorPlugin object
-
getPlugin
Description copied from class:CalculatorPluginServiceReturns the calculator plugin object.- Specified by:
getPluginin classCalculatorPluginService<P extends CalculatorPlugin>- Returns:
- the calculator plugin object
-
setThrowable
Sets the throwable object.- Parameters:
throwable- is the CalculatorPlugin object
-
getThrowable
Returns the throwable object.- Specified by:
getThrowablein interfaceCalculatorResultAccess- Returns:
- the throwable plugin object
-
setSeparator
Sets the separator string.- Parameters:
separator- is the separator string
-
setParameters
Sets the parameter table.- Parameters:
params- is the parameter table- Throws:
PluginException- on error
-
getPluginParameters
Returns the plugin parameter table (this should be set in the plugin). The default implementation returns the given parameter table itself.- Returns:
- the original parameter table if it is the same, a new table with the plugin params otherwise
- Throws:
PluginException- on error
-
setOutputParameters
Prepares the output based on the result type string. The default implementation does nothing.- Parameters:
types- the result types- Throws:
PluginException- on error
-
isMolecular
public boolean isMolecular()Returnstrueif molecule output. The default implementation returnsfalse.- Returns:
trueif molecule output
-
isStreamOutput
public boolean isStreamOutput()Returnstrueif stream output. The default implementation returnsfalse.- Returns:
trueif stream output
-
setOutputStream
Sets the output stream. Used for molecule output. The default implementation does nothing.- Parameters:
os- the output stream- Throws:
IOException
-
close
Closes the output. The default implementation callsclose(int)withMolExporter.C_CLOSE_STREAMparameter.- Throws:
IOException
-
close
Closes the output. The default implementation does nothing.- Parameters:
opts- closing options,MolExporter.C_CLOSE_STREAMorMolExporter.C_FLUSH_STREAM- Throws:
IOException- Since:
- Marvin 5.1.1
-
getCachedResults
public final CalculatorPluginCachedResults getCachedResults(Molecule target, boolean stringResult) throws PluginException Returns cached results, separated from the plugin object, so that no further enqueries needed to the plugin to get the result.- Parameters:
target- the target moleculestringResult- istrueif string result is needed,falseif decorated molecule is needed- Returns:
- the cached results
- Throws:
PluginException- Since:
- Marvin 5.2
-
getResultMessage
Returns the plugin calculation error message, error or warning.- Specified by:
getResultMessagein interfaceCalculatorResultAccess- Returns:
- the plugin calculation error message
-
getRemark
Returns the calculation remark.- Specified by:
getRemarkin interfaceCalculatorResultAccess- Returns:
- the calculation remark
-
isOK
public boolean isOK()Returnstrueif the calculation has run without error.- Specified by:
isOKin interfaceCalculatorResultAccess- Returns:
trueif the calculation has run without error
-
getHeader
Returns the table header. The default implementation returns "id" and the result types.- Specified by:
getHeaderin interfaceCalculatorResultAccess- Returns:
- the table header
-
getResult
Returns the result string for the given molecule. The default implementation returns the result strings corresponding to the result types.- Specified by:
getResultin interfaceCalculatorResultAccess- Parameters:
target- is the target molecule- Returns:
- the result row
- Throws:
PluginException- on error
-
getResults
Returns result items for the given result type.- Parameters:
type- is the result type- Returns:
- result items separated by ';'
- Throws:
PluginException- on error
-
getResultMolecule
Returns the decorated result molecule for the given target molecule. Used in case of MRV output (-M, --mrv-output).- Specified by:
getResultMoleculein interfaceCalculatorResultAccess- Parameters:
target- is the target molecule- Returns:
- the result molecule
- Throws:
PluginException- on error
-
getResultMolecules
Returns the result molecules for the given target molecule. The default implementation returnsnull.- Specified by:
getResultMoleculesin interfaceCalculatorResultAccess- Parameters:
target- is the target molecules- Returns:
- the result molecules
- Throws:
PluginException- on error
-
getResultDomain
public int getResultDomain()Returns the domain for the first result type.- Returns:
- the domain for the first result type:
CalculatorPlugin.ATOM,CalculatorPlugin.MOLECULEorCalculatorPlugin.MOLECULES
-
getSpecResult
@Deprecated(forRemoval=true) @SubjectToRemoval(date=JUL_01_2025) public double getSpecResult(Molecule target, String arg) throws PluginException Deprecated, for removal: This API element is subject to removal in a future version.This method depends on the now deprecatedCalculatorPlugin.getResult(Object, String)method, so this is deprecated as well and will be removed.Returns a specific plugin result corresponding to the given molecule and argument string. The default implementation returns the result value returned byCalculatorPlugin.getResult(int index)(converted todouble) with index given in the argument string: the argument string format is<result index>.- Parameters:
target- is the target moleculearg- is the argument string- Returns:
- the queried plugin result
- Throws:
PluginException- in case of plugin calculation error
-
CalculatorPlugin.getResult(Object, String)method, so this is deprecated as well and will be removed.