weka.gui.beans
Class CostBenefitAnalysis

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by javax.swing.JPanel
                  extended by weka.gui.beans.CostBenefitAnalysis
All Implemented Interfaces:
ImageObserver, MenuContainer, BeanContextChild, Serializable, EventListener, Accessible, BeanCommon, HeadlessEventCollector, ThresholdDataListener, UserRequestAcceptor, Visible

@KFStep(category="Visualize",
        toolTipText="Interactive cost/benefit analysis")
public class CostBenefitAnalysis
extends JPanel
implements BeanCommon, ThresholdDataListener, Visible, UserRequestAcceptor, Serializable, BeanContextChild, HeadlessEventCollector

Bean that aids in analyzing cost/benefit tradeoffs.

Version:
$Revision: 8034 $
Author:
Mark Hall (mhall{[at]}pentaho{[dot]}com)
See Also:
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 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
CostBenefitAnalysis()
          Constructor.
 
Method Summary
 void acceptDataSet(ThresholdDataEvent e)
          Accept a threshold data event and set up the visualization.
 void addVetoableChangeListener(String name, VetoableChangeListener vcl)
           
 boolean connectionAllowed(EventSetDescriptor esd)
          Returns true if, at this time, the object will accept a connection according to the supplied EventSetDescriptor
 boolean connectionAllowed(String eventName)
          Returns true if, at this time, the object will accept a connection via the named event
 void connectionNotification(String eventName, Object source)
          Notify this object that it has been registered as a listener with a source for recieving events described by the named event This object is responsible for recording this fact.
 void disconnectionNotification(String eventName, Object source)
          Notify this object that it has been deregistered as a listener with a source for named event.
 Enumeration enumerateRequests()
          Get a list of performable requests
 BeanContext getBeanContext()
           
 String getCustomName()
          Get the custom (descriptive) name for this bean (if one has been set)
 BeanVisual getVisual()
          Get the visual representation
 String globalInfo()
          Global info for this bean
 boolean isBusy()
          Returns true if.
static void main(String[] args)
           
 void performRequest(String request)
          Perform the named request
 void processHeadlessEvents(List<EventObject> headless)
          Process a list of events that have been collected earlier.
 void removeVetoableChangeListener(String name, VetoableChangeListener vcl)
           
 List<EventObject> retrieveHeadlessEvents()
          Get the list of events processed in headless mode.
 void setBeanContext(BeanContext bc)
           
 void setCurveData(PlotData2D curveData, Attribute origClassAtt)
          Set the threshold curve data to use.
 void setCustomName(String name)
          Set a custom (descriptive) name for this bean
 void setLog(Logger logger)
          Set a logger
 void setVisual(BeanVisual newVisual)
          Set a new visual representation
 void stop()
          Stop any processing that the bean might be doing.
 void useDefaultVisual()
          Use the default visual representation
 
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, 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, transferFocusBackward, 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, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, 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, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface java.beans.beancontext.BeanContextChild
addPropertyChangeListener, removePropertyChangeListener
 

Constructor Detail

CostBenefitAnalysis

public CostBenefitAnalysis()
Constructor.

Method Detail

globalInfo

public String globalInfo()
Global info for this bean

Returns:
a String value

acceptDataSet

public void acceptDataSet(ThresholdDataEvent e)
Accept a threshold data event and set up the visualization.

Specified by:
acceptDataSet in interface ThresholdDataListener
Parameters:
e - a threshold data event

setCurveData

public void setCurveData(PlotData2D curveData,
                         Attribute origClassAtt)
                  throws Exception
Set the threshold curve data to use.

Parameters:
curveData - a PlotData2D object set up with the curve data.
origClassAtt - the class attribute from the original data used to generate the curve.
Throws:
Exception - if somthing goes wrong during the setup process.

getVisual

public BeanVisual getVisual()
Description copied from interface: Visible
Get the visual representation

Specified by:
getVisual in interface Visible
Returns:
a BeanVisual value

setVisual

public void setVisual(BeanVisual newVisual)
Description copied from interface: Visible
Set a new visual representation

Specified by:
setVisual in interface Visible
Parameters:
newVisual - a BeanVisual value

useDefaultVisual

public void useDefaultVisual()
Description copied from interface: Visible
Use the default visual representation

Specified by:
useDefaultVisual in interface Visible

enumerateRequests

public Enumeration enumerateRequests()
Description copied from interface: UserRequestAcceptor
Get a list of performable requests

Specified by:
enumerateRequests in interface UserRequestAcceptor
Returns:
an Enumeration value

performRequest

public void performRequest(String request)
Description copied from interface: UserRequestAcceptor
Perform the named request

Specified by:
performRequest in interface UserRequestAcceptor
Parameters:
request - a String value

addVetoableChangeListener

public void addVetoableChangeListener(String name,
                                      VetoableChangeListener vcl)
Specified by:
addVetoableChangeListener in interface BeanContextChild

getBeanContext

public BeanContext getBeanContext()
Specified by:
getBeanContext in interface BeanContextChild

removeVetoableChangeListener

public void removeVetoableChangeListener(String name,
                                         VetoableChangeListener vcl)
Specified by:
removeVetoableChangeListener in interface BeanContextChild

setBeanContext

public void setBeanContext(BeanContext bc)
                    throws PropertyVetoException
Specified by:
setBeanContext in interface BeanContextChild
Throws:
PropertyVetoException

connectionAllowed

public boolean connectionAllowed(String eventName)
Returns true if, at this time, the object will accept a connection via the named event

Specified by:
connectionAllowed in interface BeanCommon
Parameters:
eventName - the name of the event in question
Returns:
true if the object will accept a connection

connectionNotification

public void connectionNotification(String eventName,
                                   Object source)
Notify this object that it has been registered as a listener with a source for recieving events described by the named event This object is responsible for recording this fact.

Specified by:
connectionNotification in interface BeanCommon
Parameters:
eventName - the event
source - the source with which this object has been registered as a listener

connectionAllowed

public boolean connectionAllowed(EventSetDescriptor esd)
Returns true if, at this time, the object will accept a connection according to the supplied EventSetDescriptor

Specified by:
connectionAllowed in interface BeanCommon
Parameters:
esd - the EventSetDescriptor
Returns:
true if the object will accept a connection

disconnectionNotification

public void disconnectionNotification(String eventName,
                                      Object source)
Notify this object that it has been deregistered as a listener with a source for named event. This object is responsible for recording this fact.

Specified by:
disconnectionNotification in interface BeanCommon
Parameters:
eventName - the event
source - the source with which this object has been registered as a listener

getCustomName

public String getCustomName()
Get the custom (descriptive) name for this bean (if one has been set)

Specified by:
getCustomName in interface BeanCommon
Returns:
the custom name (or the default name)

isBusy

public boolean isBusy()
Returns true if. at this time, the bean is busy with some (i.e. perhaps a worker thread is performing some calculation).

Specified by:
isBusy in interface BeanCommon
Returns:
true if the bean is busy.

setCustomName

public void setCustomName(String name)
Set a custom (descriptive) name for this bean

Specified by:
setCustomName in interface BeanCommon
Parameters:
name - the name to use

setLog

public void setLog(Logger logger)
Set a logger

Specified by:
setLog in interface BeanCommon
Parameters:
logger - a weka.gui.Logger value

stop

public void stop()
Stop any processing that the bean might be doing.

Specified by:
stop in interface BeanCommon

main

public static void main(String[] args)

retrieveHeadlessEvents

public List<EventObject> retrieveHeadlessEvents()
Get the list of events processed in headless mode. May return null or an empty list if not running in headless mode or no events were processed

Specified by:
retrieveHeadlessEvents in interface HeadlessEventCollector
Returns:
a list of EventObjects or null.

processHeadlessEvents

public void processHeadlessEvents(List<EventObject> headless)
Process a list of events that have been collected earlier. Has no affect if the component is running in headless mode.

Specified by:
processHeadlessEvents in interface HeadlessEventCollector
Parameters:
headless - a list of EventObjects to process.


Copyright © 2012 University of Waikato, Hamilton, NZ. All Rights Reserved.