Interface NodeContainerUI

All Superinterfaces:
EventListener, org.knime.core.node.workflow.NodeContainerStateObservable, org.knime.core.node.workflow.NodeProgressListener, UI
All Known Subinterfaces:
AsyncNodeContainerUI, AsyncWorkflowManagerUI, LazyWorkflowManagerUI, NativeNodeContainerUI, SingleNodeContainerUI, SubNodeContainerUI, WorkflowManagerUI
All Known Implementing Classes:
NativeNodeContainerWrapper, NodeContainerWrapper, SingleNodeContainerWrapper, SubNodeContainerWrapper, WorkflowManagerWrapper

public interface NodeContainerUI extends org.knime.core.node.workflow.NodeProgressListener, org.knime.core.node.workflow.NodeContainerStateObservable, UI
UI-interface that mirrors the NodeContainer.
Author:
Martin Horn, KNIME.com
  • Method Details

    • getParent

      WorkflowManagerUI getParent()
      Returns:
      parent workflowmanager holding this node (or null if root).
    • getJobManager

      org.knime.core.node.workflow.NodeExecutionJobManager getJobManager()
      Returns:
      The job manager associated with this node or null if this node will use the job manager of the parent (or the parent of ...)
      See Also:
    • findJobManager

      org.knime.core.node.workflow.NodeExecutionJobManager findJobManager()
      Returns:
      NodeExecutionJobManager responsible for this node and all its children.
    • addNodePropertyChangedListener

      boolean addNodePropertyChangedListener(org.knime.core.node.workflow.NodePropertyChangedListener l)
    • removeNodePropertyChangedListener

      boolean removeNodePropertyChangedListener(org.knime.core.node.workflow.NodePropertyChangedListener l)
    • clearWaitingLoopList

      void clearWaitingLoopList()
      clears the list of waiting loops.
    • addProgressListener

      boolean addProgressListener(org.knime.core.node.workflow.NodeProgressListener listener)
      Parameters:
      listener - listener to the node progress
      Returns:
      true if the listener was not already registered before, false otherwise
    • removeNodeProgressListener

      boolean removeNodeProgressListener(org.knime.core.node.workflow.NodeProgressListener listener)
      Parameters:
      listener - existing listener to the node progress
      Returns:
      true if the listener was successfully removed, false if it was not registered
    • addNodeMessageListener

      boolean addNodeMessageListener(org.knime.core.node.workflow.NodeMessageListener listener)
      Parameters:
      listener - listener to the node messages (warnings and errors)
      Returns:
      true if the listener was not already registered, false otherwise
    • removeNodeMessageListener

      boolean removeNodeMessageListener(org.knime.core.node.workflow.NodeMessageListener listener)
      Parameters:
      listener - listener to the node messages
      Returns:
      true if the listener was successfully removed, false if it was not registered
    • getNodeMessage

      org.knime.core.node.workflow.NodeMessage getNodeMessage()
      Get the message to be displayed to the user.
      Returns:
      the node message consisting of type and message, never null.
    • setNodeMessage

      void setNodeMessage(org.knime.core.node.workflow.NodeMessage newMessage)
      Parameters:
      newMessage - the nodeMessage to set
    • addUIInformationListener

      void addUIInformationListener(org.knime.core.node.workflow.NodeUIInformationListener l)
    • removeUIInformationListener

      void removeUIInformationListener(org.knime.core.node.workflow.NodeUIInformationListener l)
    • getUIInformation

      org.knime.core.node.workflow.NodeUIInformation getUIInformation()
      Returns the UI information.
      Returns:
      a the node information
    • setUIInformation

      void setUIInformation(org.knime.core.node.workflow.NodeUIInformation uiInformation)
      Used, e.g., when nodes are moved.
      Parameters:
      uiInformation - new user interface information of the node such as coordinates on workbench.
    • setUIInformationForCorrection

      void setUIInformationForCorrection(org.knime.core.node.workflow.NodeUIInformation uiInfo)
      Updates the node's UI information only in order to correct it's bounding box and position. In that case there is no need, e.g., to send the info to the server.
      Parameters:
      uiInfo -
    • addNodeStateChangeListener

      boolean addNodeStateChangeListener(org.knime.core.node.workflow.NodeStateChangeListener listener)
      Specified by:
      addNodeStateChangeListener in interface org.knime.core.node.workflow.NodeContainerStateObservable
    • removeNodeStateChangeListener

      boolean removeNodeStateChangeListener(org.knime.core.node.workflow.NodeStateChangeListener listener)
      Specified by:
      removeNodeStateChangeListener in interface org.knime.core.node.workflow.NodeContainerStateObservable
    • getNodeContainerState

      org.knime.core.node.workflow.NodeContainerState getNodeContainerState()
      Specified by:
      getNodeContainerState in interface org.knime.core.node.workflow.NodeContainerStateObservable
      Since:
      2.8
    • hasDataAwareDialogPane

      boolean hasDataAwareDialogPane()
      Whether the dialog is a DataAwareNodeDialogPane. If so, the predecessor nodes need to be executed before the dialog is opened.
      Returns:
      that property
      Since:
      2.6
    • getDialogPaneWithSettings

      org.knime.core.node.NodeDialogPane getDialogPaneWithSettings() throws org.knime.core.node.NotConfigurableException
      Return a NodeDialogPane for a node which can be embedded into a JFrame oder another GUI element.
      Returns:
      A dialog pane for the corresponding node.
      Throws:
      org.knime.core.node.NotConfigurableException - if node cannot be configured
    • isAllInputDataAvailable

      boolean isAllInputDataAvailable()
      Called for nodes having data aware dialogs in order to check whether to prompt for execution or not.
      Returns:
      true if correctly connected and all inputs have data.
      Since:
      2.8
      See Also:
      • WorkflowManager.isAllInputDataAvailableToNode(NodeID)
    • canExecuteUpToHere

      boolean canExecuteUpToHere()
      Currently called by nodes having data aware dialogs in order to test whether upstream nodes are correctly wired and can be executed. It only tests if the direct predecessors are connected -- in the longer term it will check if all predecessors are correctly set up and at least one is executable.
      Returns:
      true if all non-optional ports are connected.
      Since:
      2.8
    • applySettingsFromDialog

      org.knime.core.node.NodeSettings applySettingsFromDialog() throws org.knime.core.node.InvalidSettingsException
      Take settings from the node's dialog and apply them to the model. Throws an exception if the apply fails.
      Returns:
      the settings
      Throws:
      org.knime.core.node.InvalidSettingsException - if settings are not applicable.
    • areDialogSettingsValid

      boolean areDialogSettingsValid()
    • hasDialog

      boolean hasDialog()
    • areDialogAndNodeSettingsEqual

      boolean areDialogAndNodeSettingsEqual()
    • getNrInPorts

      int getNrInPorts()
    • getInPort

      NodeInPortUI getInPort(int index)
    • getOutPort

      NodeOutPortUI getOutPort(int index)
    • getNrOutPorts

      int getNrOutPorts()
    • getNrViews

      int getNrViews()
    • getNodeSettings

      org.knime.core.node.config.base.ConfigBaseRO getNodeSettings()
      Returns:
      user settings for this node, possibly empty but not null.
    • getNrNodeViews

      int getNrNodeViews()
      Returns the number of views provided by the node implementation.
      Returns:
      the number of views provided by the node implementation
    • getViewName

      String getViewName(int i)
    • getNodeViewName

      String getNodeViewName(int i)
    • hasInteractiveView

      boolean hasInteractiveView()
      Returns:
      true if node provides an interactive view.
      Since:
      2.8
    • getInteractiveViewName

      String getInteractiveViewName()
      Returns the name of the interactive view if such a view exists. Otherwise null is returned.
      Returns:
      name of the interactive view or null
      Since:
      2.8
    • getInteractiveWebViews

      InteractiveWebViewsResultUI getInteractiveWebViews()
      Get the 'interactive web views' provided by this node. That is, views providing a WebTemplate for an interactive web view. Native nodes can have at most one view, components may have many (one for each contained view node), metanodes have none.

      The name associated with the web view (e.g. JS scatter plot) comes from a node's description (xml).

      Returns:
      An new InteractiveWebViewsResultUI with possibly 0 or more views.
    • getIcon

      URL getIcon()
    • getIconAsStream

      default InputStream getIconAsStream()
    • getType

      org.knime.core.node.NodeFactory.NodeType getType()
    • getID

      org.knime.core.node.workflow.NodeID getID()
    • getName

      String getName()
    • getNameWithID

      String getNameWithID()
    • toString

      String toString()
      Overrides:
      toString in class Object
      Returns:
      Node name with status information.
    • getDisplayLabel

      String getDisplayLabel()
      Returns:
      the display label for NodeView, OutPortView and NodeDialog
    • getCustomName

      String getCustomName()
      For reporting backward compatibility. If no custom name is set the reporting creates new names (depending on the node id). (The preference page prefix is ignored then.)
      Returns:
      the first line of the annotation (which contains in old (pre 2.5) flows the custom name) or null, if no annotation or no old custom name is set.
    • getNodeAnnotation

      org.knime.core.node.workflow.NodeAnnotation getNodeAnnotation()
      Returns:
      the annotation associated with the node, never null.
    • getCustomDescription

      String getCustomDescription()
    • setCustomDescription

      void setCustomDescription(String customDescription)
    • setDeletable

      void setDeletable(boolean value)
      Parameters:
      value - the isDeletable to set
    • isDeletable

      boolean isDeletable()
      Returns:
      the isDeletable
    • isDirty

      boolean isDirty()
      Returns:
      the isDirty
    • setDirty

      void setDirty()
      Mark this node container to be changed, that is, it needs to be saved.
    • changeNodeLocks

      void changeNodeLocks(boolean setLock, org.knime.core.node.workflow.NodeContainer.NodeLock... locks)
      Changes the nodes lock status for various actions, i.e. from being deleted, reset or configured.
      Parameters:
      setLock - whether the locks should be set (true) or released (false)
      locks - the locks to be set or released, e.g. NodeContainer.NodeLock.DELETE, NodeContainer.NodeLock.RESET, NodeContainer.NodeLock.CONFIGURE
      Since:
      3.2
    • getNodeLocks

      org.knime.core.node.workflow.NodeContainer.NodeLocks getNodeLocks()
      Returns the node's lock status, i.e. whether the node is locked from being deleted, reset or configured.
      Returns:
      the currently set NodeContainer.NodeLocks
      Since:
      3.2
    • doRpc

      String doRpc(String remoteProcedureCall)
      To be called from rpc clients - not needed for local, for remote, picks an endpoint and forwards ui data request to be transported to remote node model and collects the response in `out`.
      (De-)serialization is handled by AbstractRpcClient.
      Parameters:
      remoteProcedureCall - the rpc serialized as a string
      Returns:
      serialized result