Interface TaggedCalculator

All Known Implementing Classes:
AlignmentPlugin, CalculatorPlugin, ChargePlugin, ConformerPlugin, DipoleCalculator, ElementalAnalyserPlugin, GeometryPlugin, HBDAPlugin, HuckelAnalysisPlugin, IonChargePlugin, IsoelectricPointPlugin, IUPACNamingPlugin, logDPlugin, logPPlugin, MajorMicrospeciesAccessorPlugin, MajorMicrospeciesPlugin, MarkushEnumerationPlugin, MolecularDynamicsPlugin, MSAPlugin, NMRCalculator, OrbitalElectronegativityPlugin, pKaPlugin, PolarizabilityPlugin, chemaxon.calculator.ProgressableCalculator, RefractivityPlugin, ResonancePlugin, SolubilityCalculator, StereoisomerPlugin, StructuralFrameworksPlugin, TautomerizationPlugin, TopologyAnalyserPlugin, TPSAPlugin

@PublicAPI public interface TaggedCalculator
Base interface for calculator objects that can report a set of optional tags, which are used primarily to identify the calculator in configuration files.

New tags can be introduced and reported in the future by existing calculators, so do not depend on the exact set of reported tags, only check for the presence of certain tags.

  • Method Details

    • tags

      default Set<CalculatorTag> tags()
      Returns the set of tags reported by this calculator. The same tags should be returned unless the calculator is modified using a mutator method, e.g. if some settings are changed.

      New tags can be introduced and reported in the future by existing calculators, so do not depend on the exact set of reported tags, only check for the presence of certain tags.

      Returns:
      the tags
    • of

      static TaggedCalculator of(CalculatorTag... tags)
      Creates a TaggedCalculator that always returns the given tags.
    • of

      Creates a TaggedCalculator that always returns the given tags.
    • enableDefaultHeavyAtomLimits

      static void enableDefaultHeavyAtomLimits()
      Sets the global input checker to one that uses the default heavy atom limits.

      With these default limits, most calculators complete under about 5 seconds per input structure. The few exceptions are simply too slow to finish in such short time with any reasonable limit, but they should still process each input in a few minutes with these limits.

      Please note that these limits may change in future versions without any preliminary notice if better values are found. If you want to ensure that your limits do not change, use a custom configuration file instead, possibly by modifying the default one. See the documentation of the HeavyAtomLimitChecker class for details.

      See Also:
    • getGlobalChecker

      static TaggedCalculatorInputChecker getGlobalChecker()
      Returns the global input checker that will be used by all calculators implementing this interface.
      Returns:
      the global checker or null if there is no global checker
    • setGlobalChecker

      static void setGlobalChecker(TaggedCalculatorInputChecker checker)
      Sets the global input checker that will be used by all calculators implementing this interface. By default, the global checker is null.
      Parameters:
      checker - the global checker or null if no global checker should be used