Class AbstractThreeWayDataMerge

  • All Implemented Interfaces:
    adams.core.Destroyable, adams.core.GlobalInfoSupporter, adams.core.logging.LoggingLevelHandler, adams.core.logging.LoggingSupporter, adams.core.option.OptionHandler, adams.core.SizeOfHandler, Serializable
    Direct Known Subclasses:
    CollapseX, Join

    public abstract class AbstractThreeWayDataMerge
    extends adams.core.option.AbstractOptionHandler
    Ancestor for merge schemes.
    Author:
    FracPete (fracpete at waikato dot ac dot nz)
    See Also:
    Serialized Form
    • Field Summary

      • Fields inherited from class adams.core.option.AbstractOptionHandler

        m_OptionManager
      • Fields inherited from class adams.core.logging.LoggingObject

        m_Logger, m_LoggingIsEnabled, m_LoggingLevel
    • Method Summary

      All Methods Instance Methods Abstract Methods Concrete Methods 
      Modifier and Type Method Description
      protected String check​(ThreeWayData[] data)
      Hook method for checks before attempting to merge.
      protected abstract ThreeWayData doMerge​(ThreeWayData[] data)
      Merges the data containers into a single one.
      ThreeWayData merge​(ThreeWayData[] data)
      Merges the data containers into a single one.
      • Methods inherited from class adams.core.option.AbstractOptionHandler

        cleanUpOptions, defineOptions, destroy, finishInit, getDefaultLoggingLevel, getOptionManager, globalInfo, initialize, loggingLevelTipText, newOptionManager, reset, setLoggingLevel, toCommandLine, toString
      • Methods inherited from class adams.core.logging.LoggingObject

        configureLogger, getLogger, getLoggingLevel, initializeLogging, isLoggingEnabled, sizeOf
      • Methods inherited from interface adams.core.logging.LoggingLevelHandler

        getLoggingLevel
    • Constructor Detail

      • AbstractThreeWayDataMerge

        public AbstractThreeWayDataMerge()
    • Method Detail

      • check

        protected String check​(ThreeWayData[] data)
        Hook method for checks before attempting to merge.
        Default implementation only ensures that data is present.
        Parameters:
        data - the data to check
        Returns:
        null if checks passed, otherwise error message
      • doMerge

        protected abstract ThreeWayData doMerge​(ThreeWayData[] data)
        Merges the data containers into a single one.
        Parameters:
        data - the data to merge
        Returns:
        the merged container
      • merge

        public ThreeWayData merge​(ThreeWayData[] data)
        Merges the data containers into a single one.
        Parameters:
        data - the data to merge
        Returns:
        the merged container