Package weka.gui.beans

# Class KnowledgeFlowApp

java.lang.Object
java.awt.Component
java.awt.Container
javax.swing.JComponent
javax.swing.JPanel
weka.gui.beans.KnowledgeFlowApp

All Implemented Interfaces:
  `ImageObserver`, `MenuContainer`, `PropertyChangeListener`, `Serializable`, `EventListener`, `Accessible`

public class KnowledgeFlowApp extends JPanel implements PropertyChangeListener
Main GUI class for the KnowledgeFlow. Modifications to allow interoperability with swt provided by Davide Zerbetto (davide dot zerbetto at eng dot it).

Since:
  1.0
Version:
  $Revision: 9495 $
Author:
  Mark Hall
See Also:
  - `JPanel`
  - `PropertyChangeListener`
  - Serialized Form

## Nested Class Summary

## Nested classes/interfaces inherited from class javax.swing.JComponent

`JComponent.AccessibleJComponent`

## Nested classes/interfaces inherited from class java.awt.Component

`Component.BaselineResizeBehavior`

## Field Summary

Fields
Modifier and Type
Field
Description
`static final String`
`FILE_EXTENSION`
the extension for the serialized setups (Java serialization)
`static final String`
`FILE_EXTENSION_XML`
the extension for the serialized setups (Java serialization)
`static Vector`
`s_startupListeners`

### Fields inherited from class javax.swing.JComponent

`TOOL_TIP_TEXT_KEY, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW`

### Fields inherited from class java.awt.Component

`BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT`

### Fields inherited from interface java.awt.image.ImageObserver

`ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH`

## Constructor Summary

Constructors
Constructor
Description
`KnowledgeFlowApp(boolean showFileMenu)`
Creates a new `KnowledgeFlowApp` instance.

## Method Summary

Modifier and Type
Method
Description
`static void`
`addStartupListener(StartUpListener s)`
Add a listener to be notified when startup is complete
`void`
`clearLayout()`
`static void`
`createSingleton(String[] args)`
Create the singleton instance of the KnowledgeFlow
`Vector`
`getFlow()`
Gets the current flow being edited.
`static String`
`getGlobalInfo(Object tempBean)`
Utility method for grabbing the global info help (if it exists) from an arbitrary object
`static KnowledgeFlowApp`
`getSingleton()`
Return the singleton instance of the KnowledgeFlow
`void`
`loadInitialLayout(String fileName)`
Loads the specified file at input Added by Zerbetto
`static void`
`loadProperties()`
Loads KnowledgeFlow properties and any plugins (adds jars to the classpath)
`static void`
`main(String[] args)`
Main method.
`void`
`propertyChange(PropertyChangeEvent e)`
Accept property change events
`void`
`saveLayout(OutputStream out)`
Save the knowledge flow into the OutputStream passed at input.
`void`
`setEnvironment(Environment env)`
Set the environment variables to use.
`void`
`setFlow(Vector v)`
Set the flow for the KnowledgeFlow to edit.

### Methods inherited from class javax.swing.JPanel

`getAccessibleContext, getUI, getUIClassID, setUI, updateUI`

### Methods inherited from class javax.swing.JComponent

`addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintImmediately, paintImmediately, print, printAll, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update`

### Methods inherited from class java.awt.Container

`add, add, add, add, add, addContainerListener, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, transferFocusDownCycle, validate`

### Methods inherited from class java.awt.Component

`action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, contains, createImage, createImage, createVolatileImage, createVolatileImage, dispatchEvent, enable, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, requestFocusInWindow, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setMixingCutoutShape, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle`

### Methods inherited from class java.lang.Object

`equals, getClass, hashCode, notify, notifyAll, wait, wait, wait`

## Field Details

### FILE_EXTENSION

public static final String FILE_EXTENSION
the extension for the serialized setups (Java serialization)

See Also:
  - Constant Field Values

### FILE_EXTENSION_XML

public static final String FILE_EXTENSION_XML
the extension for the serialized setups (Java serialization)

See Also:
  - Constant Field Values

### s_startupListeners

public static Vector s_startupListeners

## Constructor Details

### KnowledgeFlowApp

public KnowledgeFlowApp(boolean showFileMenu)
Creates a new `KnowledgeFlowApp` instance.

## Method Details

### loadProperties

public static void loadProperties()
Loads KnowledgeFlow properties and any plugins (adds jars to the classpath)

### setEnvironment

public void setEnvironment(Environment env)
Set the environment variables to use. NOTE: loading a new layout resets back to the default set of variables

Parameters:
  `env` -

### clearLayout

public void clearLayout()

### propertyChange

public void propertyChange(PropertyChangeEvent e)
Accept property change events

Specified by:
  `propertyChange` in interface `PropertyChangeListener`
Parameters:
  `e` - a `PropertyChangeEvent` value

### setFlow

public void setFlow(Vector v) throws Exception
Set the flow for the KnowledgeFlow to edit. Assumes that client has loaded a Vector of beans and a Vector of connections. the supplied beans and connections are deep-copied via serialization before being set in the layout.

Parameters:
  `v` - a Vector containing a Vector of beans and a Vector of connections
Throws:
  `Exception` - if something goes wrong

### getFlow

public Vector getFlow() throws Exception
Gets the current flow being edited. The flow is returned as a single Vector containing two other Vectors: the beans and the connections. These two vectors are deep-copied via serialization before being returned.

Returns:
  the current flow being edited
Throws:
  `Exception`

### saveLayout

public void saveLayout(OutputStream out)
Save the knowledge flow into the OutputStream passed at input. Only supports saving the layout data (no trained models) to XML.

Parameters:
  `out` - the output stream to save the layout in

### getGlobalInfo

public static String getGlobalInfo(Object tempBean)
Utility method for grabbing the global info help (if it exists) from an arbitrary object

Parameters:
  `tempBean` - the object to grab global info from
Returns:
  the global help info or null if global info does not exist

### createSingleton

public static void createSingleton(String[] args)
Create the singleton instance of the KnowledgeFlow

Parameters:
  `args` - can contain a file argument for loading a flow layout (format: "file=[path to layout file]") Modified by Zerbetto: you can specify the path of a knowledge flow layout file at input

### getSingleton

public static KnowledgeFlowApp getSingleton()
Return the singleton instance of the KnowledgeFlow

Returns:
  the singleton instance

### addStartupListener

public static void addStartupListener(StartUpListener s)
Add a listener to be notified when startup is complete

Parameters:
  `s` - a listener to add

### loadInitialLayout

public void loadInitialLayout(String fileName)
Loads the specified file at input Added by Zerbetto

### main

public static void main(String[] args)
Main method.

Parameters:
  `args` - a `String[]` value