Package adams.data.compare
Class AbstractObjectCompare<T,R>
- java.lang.Object
-
- adams.core.logging.LoggingObject
-
- adams.core.logging.CustomLoggingLevelObject
-
- adams.core.option.AbstractOptionHandler
-
- adams.data.compare.AbstractObjectCompare<T,R>
-
- Type Parameters:
T
- the output of the comparison
- All Implemented Interfaces:
Destroyable
,GlobalInfoSupporter
,LoggingLevelHandler
,LoggingSupporter
,OptionHandler
,QuickInfoSupporter
,SizeOfHandler
,Serializable
- Direct Known Subclasses:
DataContainer
,JavaComparable
public abstract class AbstractObjectCompare<T,R> extends AbstractOptionHandler implements QuickInfoSupporter
Ancestor for classes that compare objects and return a result.- Version:
- $Revision$
- 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
-
-
Constructor Summary
Constructors Constructor Description AbstractObjectCompare()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description abstract Class[]
accepts()
Returns the classes that it can handle.protected void
check(T o1, T o2)
Checks the provided objects.R
compareObjects(T o1, T o2)
Compares the two objects.protected abstract R
doCompareObjects(T o1, T o2)
Performs the actual comparison of the two objects.abstract Class
generates()
Returns the type of output that it generates.String
getQuickInfo()
Returns a quick info about the object, which can be displayed in the GUI.-
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 class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface adams.core.logging.LoggingLevelHandler
getLoggingLevel
-
-
-
-
Method Detail
-
getQuickInfo
public String getQuickInfo()
Returns a quick info about the object, which can be displayed in the GUI.
Default implementation returns null.- Specified by:
getQuickInfo
in interfaceQuickInfoSupporter
- Returns:
- null if no info available, otherwise short string
-
accepts
public abstract Class[] accepts()
Returns the classes that it can handle.- Returns:
- the array of classes
-
generates
public abstract Class generates()
Returns the type of output that it generates.- Returns:
- the class of the output
-
check
protected void check(T o1, T o2)
Checks the provided objects.
Default implementation only ensures that objects are not null.- Parameters:
o1
- the first objecto2
- the second object
-
doCompareObjects
protected abstract R doCompareObjects(T o1, T o2)
Performs the actual comparison of the two objects.- Parameters:
o1
- the first objecto2
- the second object- Returns:
- the result of the comparison
-
-