chemaxon.checkers.runner
Interface CheckerRunner

All Known Implementing Classes:
AdvancedCheckerRunner, BasicCheckerRunner, CheckerRunnerImpl, SketchCheckerRunner

public interface CheckerRunner

The descendant of CheckerRunner interface has to provide the functionality to run StructureChecker instances automatically
on the given molecule and fix the problems with the associated StructureFixer instances.

Example:

CheckerRunner can be used directly with the checkAndWait method. This method returns a List of StructureCheckerResult
which contains all the identified problem of the given molecule. CheckerRunner can return all the StructureFixer instances
for a StructureCheckerResult. These fixers can be executed one by one.

CheckerRunner runner;
... (initialize/initiate the current CheckerRunner instance)
List results = runner.checkAndWait();
for (StructureChecekrResult result : results) {
List fixers = runner.getFixers(result);
... execute one of the fixers
}


CheckerRunner supports executing the default fixer of a StructureCheckerResult.

CheckerRunner runner;
... (initialize/initiate the current CheckerRunner instance)
List results = runner.checkAndWait();
for (StructureCheckerResult result : results) {
runner.fix(result);
}

CheckerRunner supports running the checkers in background thread with the check() method. After the background thread is ended (isChecking() returns false or "checking" property changed fired) the usage is the same. CheckerRunner provides support to try to identify all the problems in the given molecule and fix these problems with the default fixer using the fix() method.

Since:
Marvin 5.3
Version:
5.4
Author:
Attila Szabo

Method Summary
 void addPropertyChangeListener(java.beans.PropertyChangeListener changeListener)
          Adds a PropertyChangeListener that will receive all the PropertyChangeEvent fired by this class
 void addPropertyChangeListener(java.lang.String propertyName, java.beans.PropertyChangeListener listener)
          Adds a PropertyChangeListener that will receive the PropertyChangeEvent fired when the property with the given name is changed
 void cancel()
          Stops the background thread
 void check()
          Invoke a background thread which will run all checkers on the given molecule
 java.util.List<StructureCheckerResult> checkAndWait()
          Execute all the checker instances on the given molecule and return a List of StructureCheckerResult which contains all the identified problems
 boolean fix()
          Runs all StructureChecker on the given molecule and after that fixes all identified problems with the first StructureFixer which is associated with the current problem.
 boolean fix(StructureCheckerResult result)
          Fixes the problem identified by result with the first StructureFixer which is associated with the StructureCheckerErrorType of the result.
 java.util.List<StructureChecker> getCheckerConfiguration()
          Gets the list of available checkers
 int getCurrent()
           
 java.lang.String getCurrentCheckerName()
           
 java.util.List<StructureFixer> getFixers(StructureCheckerResult result)
          Returns all the StructureFixer instances which associated with the StructureCheckerErrorType of the result
 int getProgessLength()
           
 java.util.List<StructureCheckerResult> getResultList()
           
 boolean isChecking()
          This function identifies the state of the checker thread
 void setConfigurationReader(ConfigurationReader reader)
          Sets a new configuration for the Runner.
 void setIgnoreConfigurationErrors(boolean ignore)
          Sets whether configuration errors should be ignored on execution.
 void setMolecule(Molecule molecule)
          Sets the molecule to be checked by the checkers
 

Method Detail

setConfigurationReader

void setConfigurationReader(ConfigurationReader reader)
Sets a new configuration for the Runner.

Parameters:
reader - is the ConfigurationReader instance which provides the current configuraiton
Since:
5.4

check

void check()
Invoke a background thread which will run all checkers on the given molecule


checkAndWait

java.util.List<StructureCheckerResult> checkAndWait()
Execute all the checker instances on the given molecule and return a List of StructureCheckerResult which contains all the identified problems

Returns:
a List of StructureCheckerResult which contains all the identified problem about the given molecule

cancel

void cancel()
Stops the background thread


isChecking

boolean isChecking()
This function identifies the state of the checker thread

Returns:
true if the background thread runs false otherwise

getCurrent

int getCurrent()
Returns:
the current progress percent

getCurrentCheckerName

java.lang.String getCurrentCheckerName()
Returns:
which StructureChecker instance run currently

getProgessLength

int getProgessLength()
Returns:
the length of the checking process

getResultList

java.util.List<StructureCheckerResult> getResultList()
Returns:
a List of StructureCheckerResult which contains all the dentified problem about the given molecule

getFixers

java.util.List<StructureFixer> getFixers(StructureCheckerResult result)
Returns all the StructureFixer instances which associated with the StructureCheckerErrorType of the result

Parameters:
result - a StructureCheckerResult instance which identifies the current problem
Returns:
a List of StructureFixer

fix

boolean fix()
Runs all StructureChecker on the given molecule and after that fixes all identified problems with the first StructureFixer which is associated with the current problem.

Returns:
true if the fix ended correctly false otherwise

fix

boolean fix(StructureCheckerResult result)
Fixes the problem identified by result with the first StructureFixer which is associated with the StructureCheckerErrorType of the result.

Parameters:
result - a StructureCheckerResult instance which identifies the problem
Returns:
true if the fix ended correctly false otherwise

setMolecule

void setMolecule(Molecule molecule)
Sets the molecule to be checked by the checkers

Parameters:
molecule - a Molecule instance to be checked

addPropertyChangeListener

void addPropertyChangeListener(java.beans.PropertyChangeListener changeListener)
Adds a PropertyChangeListener that will receive all the PropertyChangeEvent fired by this class

Parameters:
changeListener - a PropertyChangeListener instance

addPropertyChangeListener

void addPropertyChangeListener(java.lang.String propertyName,
                               java.beans.PropertyChangeListener listener)
Adds a PropertyChangeListener that will receive the PropertyChangeEvent fired when the property with the given name is changed

Parameters:
propertyName - the name of the property to be listened
listener - a PropertyChangeListener instance

getCheckerConfiguration

java.util.List<StructureChecker> getCheckerConfiguration()
Gets the list of available checkers

Returns:
the list of available checkers

setIgnoreConfigurationErrors

void setIgnoreConfigurationErrors(boolean ignore)
Sets whether configuration errors should be ignored on execution.

Parameters:
ignore - true if configuration errors should be ignored on execution