Class AbstractIMAPOperation<I,O>
- java.lang.Object
-
- adams.core.logging.LoggingObject
-
- adams.core.logging.CustomLoggingLevelObject
-
- adams.core.option.AbstractOptionHandler
-
- adams.flow.transformer.imaptransformer.AbstractIMAPOperation<I,O>
-
- Type Parameters:
I
- the type of output that is being receivedO
- the type of output that is being generated
- All Implemented Interfaces:
Destroyable
,GlobalInfoSupporter
,LoggingLevelHandler
,LoggingSupporter
,OptionHandler
,QuickInfoSupporter
,SizeOfHandler
,Serializable
- Direct Known Subclasses:
AbstractIMAPFolderOperation
public abstract class AbstractIMAPOperation<I,O> extends AbstractOptionHandler implements QuickInfoSupporter
Ancestor for IMAP operations that receive input and generate output from it.- 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 abstract Class
accepts()
Returns the type of input the operation accepts.protected String
check(IMAPConnection conn, I input)
Hook method for checks before executing the operation.protected abstract O
doExecute(IMAPConnection conn, I input, MessageCollection errors)
Executes the operation and returns the generated output.O
execute(IMAPConnection conn, I input, 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
-
accepts
public abstract Class accepts()
Returns the type of input the operation accepts.- Returns:
- the class
-
generates
public abstract Class generates()
Returns the type of output the operation generates.- Returns:
- the class
-
check
protected String check(IMAPConnection conn, I input)
Hook method for checks before executing the operation.- Parameters:
conn
- the connection to useinput
- the input data- Returns:
- the generated output, can be null
-
doExecute
protected abstract O doExecute(IMAPConnection conn, I input, MessageCollection errors)
Executes the operation and returns the generated output.- Parameters:
conn
- the connection to useinput
- the input dataerrors
- for collecting errors- Returns:
- the generated output, null in case of error or failed check
-
execute
public O execute(IMAPConnection conn, I input, MessageCollection errors)
Executes the operation and returns the generated output.- Parameters:
conn
- the connection to useinput
- the input dataerrors
- for collecting errors- Returns:
- the generated output, can be null
-
-