Interface CheckerRunner

All Known Implementing Classes:
AdvancedCheckerRunner, chemaxon.checkers.runner.BasicCheckerRunner, SketchCheckerRunner

@PublicApi 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
  • Method Details

    • 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()
      Invokes a background thread which will run all checkers on the given molecule
    • checkAndWait

      List<StructureCheckerResult> checkAndWait()
      Executes all the checker instances on the given molecule and returns a List of StructureCheckerResult containing all the identified problems
      Returns:
      a List of StructureCheckerResult containing 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

      String getCurrentCheckerName()
      Returns:
      which StructureChecker instance run currently
    • getProgessLength

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

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

      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(PropertyChangeListener changeListener)
      Adds a PropertyChangeListener that will receive all the PropertyChangeEvent fired by this class
      Parameters:
      changeListener - a PropertyChangeListener instance
    • addPropertyChangeListener

      void addPropertyChangeListener(String propertyName, 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

      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