The most important classes and interfaces of the Structure Checker API are:
chemaxon.checkers.StructureChecker
interface and its implementations: contain the code to detect issues in structures;
chemaxon.checkers.result.StructureCheckerResult
interface and its implementations: represent the result of a structure check, and contain information about the problems;
chemaxon.fixers.StructureFixer
interface and its implementations: contain the code to fix a certain issue represented by a StructureCheckerResult
.
Figure 1. Logic of Structure Checker's checkers and fixers
A list of checkers (optionally with preferred fixers) can be executed on a structure using an implementation of chemaxon.checkers.runner.StructureCheckerRunner
. BasicCheckerRunner
is meant for checking, and it has basic fixing capabilities, AdvancedCheckerRunner
is more robust, and has better fixing method, like running more iterations and fixer priorities.
A list of checkers can be saved and restored with ConfigurationReader
and ConfigurationWriter
implementations located in chemaxon.checkers.runner.configuration.reader
(and writer
) packages. Implementations for XML and Action String representation are available.
Checker and Fixer metadata is kept in the @CheckerInfo
and @FixerInfo
annotations of the corresponding class.