Package adams.flow.source.imapsource
Class AbstractIMAPOperation<O>
- java.lang.Object
-
- adams.core.logging.LoggingObject
-
- adams.core.logging.CustomLoggingLevelObject
-
- adams.core.option.AbstractOptionHandler
-
- adams.flow.source.imapsource.AbstractIMAPOperation<O>
-
- Type Parameters:
O
- the type of output that is being generated
- All Implemented Interfaces:
Destroyable
,GlobalInfoSupporter
,LoggingLevelHandler
,LoggingSupporter
,OptionHandler
,QuickInfoSupporter
,SizeOfHandler
,Serializable
- Direct Known Subclasses:
AbstractIMAPFolderOperation
,ListFolders
,UnreadMessageCount
public abstract class AbstractIMAPOperation<O> extends AbstractOptionHandler implements QuickInfoSupporter
Ancestor for IMAP operations that generate output.- 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 AbstractIMAPOperation()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected String
check(IMAPConnection conn)
Hook method for checks before executing the operation.protected abstract O
doExecute(IMAPConnection conn, MessageCollection errors)
Executes the operation and returns the generated output.O
execute(IMAPConnection conn, MessageCollection errors)
Executes the operation and returns the generated output.abstract Class
generates()
Returns the type of output the operation 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
-
generates
public abstract Class generates()
Returns the type of output the operation generates.- Returns:
- the class
-
check
protected String check(IMAPConnection conn)
Hook method for checks before executing the operation.- Parameters:
conn
- the connection to use- Returns:
- the generated output, can be null
-
doExecute
protected abstract O doExecute(IMAPConnection conn, MessageCollection errors)
Executes the operation and returns the generated output.- Parameters:
conn
- the connection to useerrors
- for collecting errors- Returns:
- the generated output, null in case of error or failed check
-
execute
public O execute(IMAPConnection conn, MessageCollection errors)
Executes the operation and returns the generated output.- Parameters:
conn
- the connection to useerrors
- for collecting errors- Returns:
- the generated output, can be null
-
-