Class WekaSelectDataset

  • All Implemented Interfaces:
    adams.core.AdditionalInformationHandler, adams.core.ArrayProvider, adams.core.CleanUpHandler, adams.core.Destroyable, adams.core.GlobalInfoSupporter, adams.core.logging.LoggingLevelHandler, adams.core.logging.LoggingSupporter, adams.core.option.OptionHandler, adams.core.QuickInfoSupporter, adams.core.ShallowCopySupporter<adams.flow.core.Actor>, adams.core.SizeOfHandler, adams.core.Stoppable, adams.core.StoppableWithFeedback, adams.core.VariablesInspectionHandler, adams.event.VariableChangeListener, adams.flow.core.Actor, adams.flow.core.ArrayProvider, adams.flow.core.AutomatableInteraction, adams.flow.core.AutomatableInteractiveActor, adams.flow.core.ErrorHandler, adams.flow.core.InteractiveActor, adams.flow.core.InteractiveActorWithCustomParentComponent, adams.flow.core.OutputProducer, adams.flow.core.StopModeSupporter, Serializable, Comparable

    public class WekaSelectDataset
    extends adams.flow.source.AbstractArrayProvider
    implements adams.flow.core.InteractiveActorWithCustomParentComponent, adams.flow.core.AutomatableInteractiveActor
    Pops up a file chooser dialog, prompting the user to select one or more datasets. The filenames of the datasets then get forwarded as strings.

    Input/output:
    - generates:
       java.lang.String


    -logging-level <OFF|SEVERE|WARNING|INFO|CONFIG|FINE|FINER|FINEST> (property: loggingLevel)
        The logging level for outputting errors and debugging output.
        default: WARNING
     
    -name <java.lang.String> (property: name)
        The name of the actor.
        default: WekaSelectDataset
     
    -annotation <adams.core.base.BaseAnnotation> (property: annotations)
        The annotations to attach to this actor.
        default: 
     
    -skip <boolean> (property: skip)
        If set to true, transformation is skipped and the input token is just forwarded 
        as it is.
        default: false
     
    -stop-flow-on-error <boolean> (property: stopFlowOnError)
        If set to true, the flow gets stopped in case this actor encounters an error;
         useful for critical actors.
        default: false
     
    -silent <boolean> (property: silent)
        If enabled, then no errors are output in the console.
        default: false
     
    -output-array <boolean> (property: outputArray)
        Whether to output the files as array or one-by-one.
        default: false
     
    -stop-if-canceled <boolean> (property: stopFlowIfCanceled)
        If enabled, the flow gets stopped in case the user cancels the dialog.
        default: false
     
    -custom-stop-message <java.lang.String> (property: customStopMessage)
        The custom stop message to use in case a user cancelation stops the flow 
        (default is the full name of the actor)
        default: 
     
    -file-chooser-title <java.lang.String> (property: fileChooserTitle)
        The title for the file chooser dialog.
        default: 
     
    -initial-dir <adams.core.io.PlaceholderDirectory> (property: initialDirectory)
        The initial directory for the file chooser.
        default: ${CWD}
     
    -initial-file <adams.core.io.PlaceholderFile> [-initial-file ...] (property: initialFiles)
        The initial files for the file chooser.
        default: 
     
    -non-interactive <boolean> (property: nonInteractive)
        If enabled, the initial value is forwarded without user interaction.
        default: false
     
    Author:
    fracpete (fracpete at waikato dot ac dot nz)
    See Also:
    Serialized Form
    • Field Summary

      Fields 
      Modifier and Type Field Description
      protected adams.flow.core.Actor m_CallableActor
      the callable actor.
      protected String m_CustomStopMessage
      the custom stop message to use if flow gets stopped due to cancelation.
      protected String m_FileChooserTitle
      the title of the file chooser dialog.
      protected adams.flow.core.CallableActorHelper m_Helper
      the helper class.
      protected adams.core.io.PlaceholderDirectory m_InitialDirectory
      the initial directory.
      protected adams.core.io.PlaceholderFile[] m_InitialFiles
      the initial files to use.
      protected boolean m_NonInteractive
      whether to automate the actor.
      protected adams.flow.core.CallableActorReference m_ParentComponentActor
      the (optional) parent component to use.
      protected boolean m_ParentComponentActorConfigured
      whether the callable actor has been configured.
      protected boolean m_StopFlowIfCanceled
      whether to stop the flow if canceled.
      protected adams.flow.core.StopMode m_StopMode
      how to perform the stop.
      protected boolean m_UseOuterWindow
      whether to use the outer window as parent.
      • Fields inherited from class adams.flow.source.AbstractArrayProvider

        m_Index, m_OutputArray, m_Queue
      • Fields inherited from class adams.flow.core.AbstractActor

        m_Annotations, m_BackupState, m_DetectedObjectVariables, m_DetectedVariables, m_ErrorHandler, m_Executed, m_Executing, m_ExecutionListeningSupporter, m_FullName, m_LoggingPrefix, m_Name, m_Parent, m_ScopeHandler, m_Self, m_Silent, m_Skip, m_StopFlowOnError, m_StopMessage, m_Stopped, m_StorageHandler, m_VariablesUpdated
      • Fields inherited from class adams.core.option.AbstractOptionHandler

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

        m_Logger, m_LoggingIsEnabled, m_LoggingLevel
      • Fields inherited from interface adams.flow.core.Actor

        FILE_EXTENSION, FILE_EXTENSION_GZ
      • Fields inherited from interface adams.flow.core.InteractiveActor

        INTERACTION_CANCELED
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      String customStopMessageTipText()
      Returns the tip text for this property.
      void defineOptions()
      Adds options to the internal list of options.
      protected String doExecute()
      Executes the flow item.
      String doInteract()
      Performs the interaction with the user.
      String doInteractHeadless()
      Performs the interaction with the user in a headless environment.
      String fileChooserTitleTipText()
      Returns the tip text for this property.
      protected adams.flow.core.Actor findCallableActor()
      Tries to find the callable actor referenced by its callable name.
      Component getActualParentComponent()
      Returns the parent component to use.
      String getCustomStopMessage()
      Returns the custom message to use when stopping the flow.
      String getFileChooserTitle()
      Returns the title for the file chooser dialog.
      adams.core.io.PlaceholderDirectory getInitialDirectory()
      Returns the initial directory.
      adams.core.io.PlaceholderFile[] getInitialFiles()
      Returns the initial files.
      protected Class getItemClass()
      Returns the base class of the items.
      adams.flow.core.CallableActorReference getParentComponentActor()
      Returns the (optional) callable actor to use as parent component instead of the flow panel.
      String getQuickInfo()
      Returns a quick info about the actor, which will be displayed in the GUI.
      boolean getStopFlowIfCanceled()
      Returns whether to stop the flow if dialog canceled.
      adams.flow.core.StopMode getStopMode()
      Returns the stop mode.
      boolean getUseOuterWindow()
      Returns whether to use the outer window as parent.
      String globalInfo()
      Returns a string describing the object.
      String initialDirectoryTipText()
      Returns the tip text for this property.
      String initialFilesTipText()
      Returns the tip text for this property.
      protected void initialize()
      Initializes the members.
      boolean isNonInteractive()
      Returns whether interactiveness is enabled/disabled.
      String nonInteractiveTipText()
      Returns the tip text for this property.
      String outputArrayTipText()
      Returns the tip text for this property.
      String parentComponentActorTipText()
      Returns the tip text for this property.
      protected void reset()
      Resets the scheme.
      void setCustomStopMessage​(String value)
      Sets the custom message to use when stopping the flow.
      void setFileChooserTitle​(String value)
      Sets the title for the file chooser dialog.
      void setInitialDirectory​(adams.core.io.PlaceholderDirectory value)
      Sets the initial directory.
      void setInitialFiles​(adams.core.io.PlaceholderFile[] value)
      Sets the initial files.
      void setNonInteractive​(boolean value)
      Sets whether to enable/disable interactiveness.
      void setParentComponentActor​(adams.flow.core.CallableActorReference value)
      Sets the (optional) callable actor to use as parent component instead of the flow panel.
      void setStopFlowIfCanceled​(boolean value)
      Sets whether to stop the flow if dialog canceled.
      void setStopMode​(adams.flow.core.StopMode value)
      Sets the stop mode.
      void setUseOuterWindow​(boolean value)
      Sets whether to use the outer window as parent.
      String stopFlowIfCanceledTipText()
      Returns the tip text for this property.
      String stopModeTipText()
      Returns the tip text for this property.
      boolean supportsHeadlessInteraction()
      Returns whether headless interaction is supported.
      String useOuterWindowTipText()
      Returns the tip text for this property.
      • Methods inherited from class adams.flow.source.AbstractArrayProvider

        generates, getOutputArray, hasPendingOutput, output, preExecute, setOutputArray, wrapUp
      • Methods inherited from class adams.flow.core.AbstractActor

        annotationsTipText, backupState, canInspectOptions, canPerformSetUpCheck, cleanUp, compareTo, configureLogger, destroy, equals, execute, finalUpdateVariables, findVariables, findVariables, forceVariables, forCommandLine, forName, forName, getAdditionalInformation, getAnnotations, getDefaultName, getDetectedVariables, getErrorHandler, getFlowActors, getFlowExecutionListeningSupporter, getFullName, getName, getNextSibling, getParent, getParentComponent, getPreviousSibling, getRoot, getScopeHandler, getSilent, getSkip, getStopFlowOnError, getStopMessage, getStorageHandler, getVariables, handleError, handleException, hasErrorHandler, hasStopMessage, index, isBackedUp, isExecuted, isExecuting, isFinished, isHeadless, isStopped, nameTipText, performSetUpChecks, performVariableChecks, postExecute, pruneBackup, pruneBackup, restoreState, setAnnotations, setErrorHandler, setName, setParent, setSilent, setSkip, setStopFlowOnError, setUp, setVariables, shallowCopy, shallowCopy, silentTipText, sizeOf, skipTipText, stopExecution, stopExecution, stopFlowOnErrorTipText, updateDetectedVariables, updatePrefix, updateVariables, variableChanged
      • Methods inherited from class adams.core.option.AbstractOptionHandler

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

        getLogger, getLoggingLevel, initializeLogging, isLoggingEnabled
      • Methods inherited from interface adams.flow.core.Actor

        cleanUp, compareTo, destroy, equals, execute, findVariables, getAnnotations, getDefaultName, getDetectedVariables, getErrorHandler, getFlowExecutionListeningSupporter, getFullName, getName, getNextSibling, getParent, getParentComponent, getPreviousSibling, getRoot, getScopeHandler, getSilent, getSkip, getStopFlowOnError, getStopMessage, getStorageHandler, getVariables, handleError, hasErrorHandler, hasStopMessage, index, isExecuted, isFinished, isHeadless, isStopped, setAnnotations, setErrorHandler, setName, setParent, setSilent, setSkip, setStopFlowOnError, setUp, setVariables, shallowCopy, shallowCopy, sizeOf, stopExecution, stopExecution, toCommandLine, variableChanged, wrapUp
      • Methods inherited from interface adams.core.AdditionalInformationHandler

        getAdditionalInformation
      • Methods inherited from interface adams.core.logging.LoggingLevelHandler

        getLoggingLevel, setLoggingLevel
      • Methods inherited from interface adams.core.logging.LoggingSupporter

        getLogger, isLoggingEnabled
      • Methods inherited from interface adams.core.option.OptionHandler

        cleanUpOptions, getOptionManager
      • Methods inherited from interface adams.core.VariablesInspectionHandler

        canInspectOptions
    • Field Detail

      • m_FileChooserTitle

        protected String m_FileChooserTitle
        the title of the file chooser dialog.
      • m_InitialDirectory

        protected adams.core.io.PlaceholderDirectory m_InitialDirectory
        the initial directory.
      • m_InitialFiles

        protected adams.core.io.PlaceholderFile[] m_InitialFiles
        the initial files to use.
      • m_StopFlowIfCanceled

        protected boolean m_StopFlowIfCanceled
        whether to stop the flow if canceled.
      • m_CustomStopMessage

        protected String m_CustomStopMessage
        the custom stop message to use if flow gets stopped due to cancelation.
      • m_StopMode

        protected adams.flow.core.StopMode m_StopMode
        how to perform the stop.
      • m_NonInteractive

        protected boolean m_NonInteractive
        whether to automate the actor.
      • m_ParentComponentActor

        protected adams.flow.core.CallableActorReference m_ParentComponentActor
        the (optional) parent component to use.
      • m_CallableActor

        protected adams.flow.core.Actor m_CallableActor
        the callable actor.
      • m_ParentComponentActorConfigured

        protected boolean m_ParentComponentActorConfigured
        whether the callable actor has been configured.
      • m_Helper

        protected adams.flow.core.CallableActorHelper m_Helper
        the helper class.
      • m_UseOuterWindow

        protected boolean m_UseOuterWindow
        whether to use the outer window as parent.
    • Constructor Detail

      • WekaSelectDataset

        public WekaSelectDataset()
    • Method Detail

      • globalInfo

        public String globalInfo()
        Returns a string describing the object.
        Specified by:
        globalInfo in interface adams.core.GlobalInfoSupporter
        Specified by:
        globalInfo in class adams.core.option.AbstractOptionHandler
        Returns:
        a description suitable for displaying in the gui
      • defineOptions

        public void defineOptions()
        Adds options to the internal list of options.
        Specified by:
        defineOptions in interface adams.core.option.OptionHandler
        Overrides:
        defineOptions in class adams.flow.source.AbstractArrayProvider
      • reset

        protected void reset()
        Resets the scheme.
        Overrides:
        reset in class adams.flow.source.AbstractArrayProvider
      • initialize

        protected void initialize()
        Initializes the members.
        Overrides:
        initialize in class adams.flow.core.AbstractActor
      • getQuickInfo

        public String getQuickInfo()
        Returns a quick info about the actor, which will be displayed in the GUI.
        Specified by:
        getQuickInfo in interface adams.flow.core.Actor
        Specified by:
        getQuickInfo in interface adams.core.QuickInfoSupporter
        Overrides:
        getQuickInfo in class adams.flow.core.AbstractActor
        Returns:
        null if no info available, otherwise short string
      • outputArrayTipText

        public String outputArrayTipText()
        Returns the tip text for this property.
        Specified by:
        outputArrayTipText in interface adams.core.ArrayProvider
        Specified by:
        outputArrayTipText in interface adams.flow.core.ArrayProvider
        Specified by:
        outputArrayTipText in class adams.flow.source.AbstractArrayProvider
        Returns:
        tip text for this property suitable for displaying in the GUI or for listing the options.
      • setFileChooserTitle

        public void setFileChooserTitle​(String value)
        Sets the title for the file chooser dialog.
        Parameters:
        value - the title
      • getFileChooserTitle

        public String getFileChooserTitle()
        Returns the title for the file chooser dialog.
        Returns:
        the title
      • fileChooserTitleTipText

        public String fileChooserTitleTipText()
        Returns the tip text for this property.
        Returns:
        tip text for this property suitable for displaying in the GUI or for listing the options.
      • setInitialDirectory

        public void setInitialDirectory​(adams.core.io.PlaceholderDirectory value)
        Sets the initial directory.
        Parameters:
        value - the initial directory
      • getInitialDirectory

        public adams.core.io.PlaceholderDirectory getInitialDirectory()
        Returns the initial directory.
        Returns:
        the initial directory
      • initialDirectoryTipText

        public String initialDirectoryTipText()
        Returns the tip text for this property.
        Returns:
        tip text for this property suitable for displaying in the GUI or for listing the options.
      • setInitialFiles

        public void setInitialFiles​(adams.core.io.PlaceholderFile[] value)
        Sets the initial files.
        Parameters:
        value - the initial files
      • getInitialFiles

        public adams.core.io.PlaceholderFile[] getInitialFiles()
        Returns the initial files.
        Returns:
        the initial files
      • initialFilesTipText

        public String initialFilesTipText()
        Returns the tip text for this property.
        Returns:
        tip text for this property suitable for displaying in the GUI or for listing the options.
      • setStopFlowIfCanceled

        public void setStopFlowIfCanceled​(boolean value)
        Sets whether to stop the flow if dialog canceled.
        Specified by:
        setStopFlowIfCanceled in interface adams.flow.core.InteractiveActor
        Parameters:
        value - if true flow gets stopped if dialog canceled
      • getStopFlowIfCanceled

        public boolean getStopFlowIfCanceled()
        Returns whether to stop the flow if dialog canceled.
        Specified by:
        getStopFlowIfCanceled in interface adams.flow.core.InteractiveActor
        Returns:
        true if the flow gets stopped if dialog canceled
      • stopFlowIfCanceledTipText

        public String stopFlowIfCanceledTipText()
        Returns the tip text for this property.
        Specified by:
        stopFlowIfCanceledTipText in interface adams.flow.core.InteractiveActor
        Returns:
        tip text for this property suitable for displaying in the GUI or for listing the options.
      • setCustomStopMessage

        public void setCustomStopMessage​(String value)
        Sets the custom message to use when stopping the flow.
        Specified by:
        setCustomStopMessage in interface adams.flow.core.InteractiveActor
        Parameters:
        value - the stop message
      • getCustomStopMessage

        public String getCustomStopMessage()
        Returns the custom message to use when stopping the flow.
        Specified by:
        getCustomStopMessage in interface adams.flow.core.InteractiveActor
        Returns:
        the stop message
      • customStopMessageTipText

        public String customStopMessageTipText()
        Returns the tip text for this property.
        Specified by:
        customStopMessageTipText in interface adams.flow.core.InteractiveActor
        Returns:
        tip text for this property suitable for displaying in the GUI or for listing the options.
      • setStopMode

        public void setStopMode​(adams.flow.core.StopMode value)
        Sets the stop mode.
        Specified by:
        setStopMode in interface adams.flow.core.StopModeSupporter
        Parameters:
        value - the mode
      • getStopMode

        public adams.flow.core.StopMode getStopMode()
        Returns the stop mode.
        Specified by:
        getStopMode in interface adams.flow.core.StopModeSupporter
        Returns:
        the mode
      • stopModeTipText

        public String stopModeTipText()
        Returns the tip text for this property.
        Specified by:
        stopModeTipText in interface adams.flow.core.StopModeSupporter
        Returns:
        tip text for this property suitable for displaying in the GUI or for listing the options.
      • setNonInteractive

        public void setNonInteractive​(boolean value)
        Sets whether to enable/disable interactiveness.
        Specified by:
        setNonInteractive in interface adams.flow.core.AutomatableInteraction
        Specified by:
        setNonInteractive in interface adams.flow.core.AutomatableInteractiveActor
        Parameters:
        value - if true actor is not interactive, but automated
      • isNonInteractive

        public boolean isNonInteractive()
        Returns whether interactiveness is enabled/disabled.
        Specified by:
        isNonInteractive in interface adams.flow.core.AutomatableInteraction
        Specified by:
        isNonInteractive in interface adams.flow.core.AutomatableInteractiveActor
        Returns:
        true if actor is not interactive i.e., automated
      • nonInteractiveTipText

        public String nonInteractiveTipText()
        Returns the tip text for this property.
        Specified by:
        nonInteractiveTipText in interface adams.flow.core.AutomatableInteraction
        Specified by:
        nonInteractiveTipText in interface adams.flow.core.AutomatableInteractiveActor
        Returns:
        tip text for this property suitable for displaying in the GUI or for listing the options.
      • setParentComponentActor

        public void setParentComponentActor​(adams.flow.core.CallableActorReference value)
        Sets the (optional) callable actor to use as parent component instead of the flow panel.
        Specified by:
        setParentComponentActor in interface adams.flow.core.InteractiveActorWithCustomParentComponent
        Parameters:
        value - the callable actor
      • getParentComponentActor

        public adams.flow.core.CallableActorReference getParentComponentActor()
        Returns the (optional) callable actor to use as parent component instead of the flow panel.
        Specified by:
        getParentComponentActor in interface adams.flow.core.InteractiveActorWithCustomParentComponent
        Returns:
        the callable actor
      • parentComponentActorTipText

        public String parentComponentActorTipText()
        Returns the tip text for this property.
        Specified by:
        parentComponentActorTipText in interface adams.flow.core.InteractiveActorWithCustomParentComponent
        Returns:
        tip text for this property suitable for displaying in the GUI or for listing the options.
      • setUseOuterWindow

        public void setUseOuterWindow​(boolean value)
        Sets whether to use the outer window as parent.
        Specified by:
        setUseOuterWindow in interface adams.flow.core.InteractiveActorWithCustomParentComponent
        Parameters:
        value - true if to use outer window
      • getUseOuterWindow

        public boolean getUseOuterWindow()
        Returns whether to use the outer window as parent.
        Specified by:
        getUseOuterWindow in interface adams.flow.core.InteractiveActorWithCustomParentComponent
        Returns:
        true if to use outer window
      • useOuterWindowTipText

        public String useOuterWindowTipText()
        Returns the tip text for this property.
        Specified by:
        useOuterWindowTipText in interface adams.flow.core.InteractiveActorWithCustomParentComponent
        Returns:
        tip text for this property suitable for displaying in the GUI or for listing the options.
      • findCallableActor

        protected adams.flow.core.Actor findCallableActor()
        Tries to find the callable actor referenced by its callable name.
        Returns:
        the callable actor or null if not found
      • getActualParentComponent

        public Component getActualParentComponent()
        Returns the parent component to use.
        Specified by:
        getActualParentComponent in interface adams.flow.core.InteractiveActorWithCustomParentComponent
        Returns:
        the parent
      • getItemClass

        protected Class getItemClass()
        Returns the base class of the items.
        Specified by:
        getItemClass in class adams.flow.source.AbstractArrayProvider
        Returns:
        the class
      • doInteract

        public String doInteract()
        Performs the interaction with the user.
        Specified by:
        doInteract in interface adams.flow.core.InteractiveActor
        Returns:
        null if successfully interacted, otherwise error message
      • supportsHeadlessInteraction

        public boolean supportsHeadlessInteraction()
        Returns whether headless interaction is supported.
        Specified by:
        supportsHeadlessInteraction in interface adams.flow.core.InteractiveActor
        Returns:
        true if interaction in headless environment is possible
      • doInteractHeadless

        public String doInteractHeadless()
        Performs the interaction with the user in a headless environment.
        Specified by:
        doInteractHeadless in interface adams.flow.core.InteractiveActor
        Returns:
        true if successfully interacted
      • doExecute

        protected String doExecute()
        Executes the flow item.
        Specified by:
        doExecute in class adams.flow.core.AbstractActor
        Returns:
        null if everything is fine, otherwise error message