Package weka.gui.beans
Class Sorter
- java.lang.Object
-
- java.awt.Component
-
- java.awt.Container
-
- javax.swing.JComponent
-
- javax.swing.JPanel
-
- weka.gui.beans.Sorter
-
- All Implemented Interfaces:
java.awt.image.ImageObserver,java.awt.MenuContainer,java.io.Serializable,java.util.EventListener,javax.accessibility.Accessible,EnvironmentHandler,BeanCommon,DataSource,DataSourceListener,EventConstraints,InstanceListener,StructureProducer,TestSetListener,TrainingSetListener,Visible
@KFStep(category="Tools", toolTipText="Sort instances in ascending or descending order") public class Sorter extends javax.swing.JPanel implements BeanCommon, Visible, java.io.Serializable, DataSource, DataSourceListener, TrainingSetListener, TestSetListener, InstanceListener, EventConstraints, StructureProducer, EnvironmentHandler
Sorts incoming instances in ascending or descending order according to the values of user specified attributes. Instances can be sorted according to multiple attributes (defined in order). Handles data sets larger than can be fit into main memory via instance connections and specifying the in-memory buffer size. Implements a merge-sort by writing the sorted in-memory buffer to a file when full and then interleaving instances from the disk based file(s) when the incoming stream has finished.- Version:
- $Revision: 11132 $
- Author:
- Mark Hall (mhall{[at]}pentaho{[dot]}com)
- See Also:
- Serialized Form
-
-
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
-
-
Constructor Summary
Constructors Constructor Description Sorter()Constructs a new Sorter
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidacceptDataSet(DataSetEvent e)Accept and process a data set eventvoidacceptInstance(InstanceEvent e)Accept and process an instance eventvoidacceptTestSet(TestSetEvent e)Accept and process a test set eventvoidacceptTrainingSet(TrainingSetEvent e)Accept and process a training set eventvoidaddDataSourceListener(DataSourceListener dsl)Add a datasource listenervoidaddInstanceListener(InstanceListener dsl)Add an instance listenerbooleanconnectionAllowed(java.beans.EventSetDescriptor esd)Returns true if, at this time, the object will accept a connection via the named eventbooleanconnectionAllowed(java.lang.String eventName)Returns true if, at this time, the object will accept a connection via the named eventvoidconnectionNotification(java.lang.String eventName, java.lang.Object source)Notify this object that it has been registered as a listener with a source for receiving events described by the named event This object is responsible for recording this fact.voiddisconnectionNotification(java.lang.String eventName, java.lang.Object source)Notify this object that it has been deregistered as a listener with a source for named event.booleaneventGeneratable(java.lang.String eventName)Returns true if, at the current time, the named event could be generated.java.lang.StringgetBufferSize()Get the size of the in-memory bufferInstancesgetConnectedFormat()Returns the structure of the incoming instances (if any)java.lang.StringgetCustomName()Get the custom (descriptive) name for this bean (if one has been set)java.lang.StringgetSortDetails()Get the sort rules to useInstancesgetStructure(java.lang.String eventName)Get the structure of the output encapsulated in the named event.java.lang.StringgetTempDirectory()Get the directory to use for temporary files during incremental operationBeanVisualgetVisual()Get the visual representationjava.lang.StringglobalInfo()Help information suitable for displaying in the GUI.booleanisBusy()Returns true if.voidremoveDataSourceListener(DataSourceListener dsl)Remove a datasource listenervoidremoveInstanceListener(InstanceListener dsl)Remove an instance listenervoidsetBufferSize(java.lang.String buffSize)Set the size of the in-memory buffervoidsetCustomName(java.lang.String name)Set a custom (descriptive) name for this beanvoidsetEnvironment(Environment env)Set environment variables to usevoidsetLog(Logger logger)Set a loggervoidsetSortDetails(java.lang.String sortDetails)Set the sort rules to usevoidsetTempDirectory(java.lang.String tempDir)Set the directory to use for temporary files during incremental operationvoidsetVisual(BeanVisual newVisual)Set a new visual representationvoidstop()Stop any processing that the bean might be doing.voiduseDefaultVisual()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, 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
-
-
-
-
Method Detail
-
globalInfo
public java.lang.String globalInfo()
Help information suitable for displaying in the GUI.- Returns:
- a description of this component
-
eventGeneratable
public boolean eventGeneratable(java.lang.String eventName)
Returns true if, at the current time, the named event could be generated.- Specified by:
eventGeneratablein interfaceEventConstraints- Parameters:
eventName- the name of the event in question- Returns:
- true if the named event could be generated
-
acceptInstance
public void acceptInstance(InstanceEvent e)
Accept and process an instance event- Specified by:
acceptInstancein interfaceInstanceListener- Parameters:
e- anInstanceEventvalue
-
acceptTestSet
public void acceptTestSet(TestSetEvent e)
Accept and process a test set event- Specified by:
acceptTestSetin interfaceTestSetListener- Parameters:
e- aTestSetEventvalue
-
acceptTrainingSet
public void acceptTrainingSet(TrainingSetEvent e)
Accept and process a training set event- Specified by:
acceptTrainingSetin interfaceTrainingSetListener- Parameters:
e- aTrainingSetEventvalue
-
getBufferSize
public java.lang.String getBufferSize()
Get the size of the in-memory buffer- Returns:
- the size of the in-memory buffer
-
setBufferSize
public void setBufferSize(java.lang.String buffSize)
Set the size of the in-memory buffer- Parameters:
buffSize- the size of the in-memory buffer
-
setTempDirectory
public void setTempDirectory(java.lang.String tempDir)
Set the directory to use for temporary files during incremental operation- Parameters:
tempDir- the temp dir to use
-
getTempDirectory
public java.lang.String getTempDirectory()
Get the directory to use for temporary files during incremental operation- Returns:
- the temp dir to use
-
setSortDetails
public void setSortDetails(java.lang.String sortDetails)
Set the sort rules to use- Parameters:
sortDetails- the sort rules in internal string representation
-
getSortDetails
public java.lang.String getSortDetails()
Get the sort rules to use- Returns:
- the sort rules in internal string representation
-
acceptDataSet
public void acceptDataSet(DataSetEvent e)
Accept and process a data set event- Specified by:
acceptDataSetin interfaceDataSourceListener- Parameters:
e- aDataSetEventvalue
-
addDataSourceListener
public void addDataSourceListener(DataSourceListener dsl)
Add a datasource listener- Specified by:
addDataSourceListenerin interfaceDataSource- Parameters:
dsl- the datasource listener to add
-
removeDataSourceListener
public void removeDataSourceListener(DataSourceListener dsl)
Remove a datasource listener- Specified by:
removeDataSourceListenerin interfaceDataSource- Parameters:
dsl- the datasource listener to remove
-
addInstanceListener
public void addInstanceListener(InstanceListener dsl)
Add an instance listener- Specified by:
addInstanceListenerin interfaceDataSource- Parameters:
dsl- the instance listener to add
-
removeInstanceListener
public void removeInstanceListener(InstanceListener dsl)
Remove an instance listener- Specified by:
removeInstanceListenerin interfaceDataSource- Parameters:
dsl- the instance listener to remove
-
useDefaultVisual
public void useDefaultVisual()
Use the default visual representation- Specified by:
useDefaultVisualin interfaceVisible
-
setVisual
public void setVisual(BeanVisual newVisual)
Set a new visual representation
-
getVisual
public BeanVisual getVisual()
Get the visual representation
-
setCustomName
public void setCustomName(java.lang.String name)
Set a custom (descriptive) name for this bean- Specified by:
setCustomNamein interfaceBeanCommon- Parameters:
name- the name to use
-
getCustomName
public java.lang.String getCustomName()
Get the custom (descriptive) name for this bean (if one has been set)- Specified by:
getCustomNamein interfaceBeanCommon- Returns:
- the custom name (or the default name)
-
stop
public void stop()
Stop any processing that the bean might be doing.- Specified by:
stopin interfaceBeanCommon
-
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:
isBusyin interfaceBeanCommon- Returns:
- true if the bean is busy.
-
setLog
public void setLog(Logger logger)
Set a logger- Specified by:
setLogin interfaceBeanCommon- Parameters:
logger- aweka.gui.Loggervalue
-
connectionAllowed
public boolean connectionAllowed(java.beans.EventSetDescriptor esd)
Returns true if, at this time, the object will accept a connection via the named event- Specified by:
connectionAllowedin interfaceBeanCommon- Parameters:
esd- the EventSetDescriptor for the event in question- Returns:
- true if the object will accept a connection
-
connectionAllowed
public boolean connectionAllowed(java.lang.String eventName)
Returns true if, at this time, the object will accept a connection via the named event- Specified by:
connectionAllowedin interfaceBeanCommon- Parameters:
eventName- the name of the event- Returns:
- true if the object will accept a connection
-
connectionNotification
public void connectionNotification(java.lang.String eventName, java.lang.Object source)Notify this object that it has been registered as a listener with a source for receiving events described by the named event This object is responsible for recording this fact.- Specified by:
connectionNotificationin interfaceBeanCommon- Parameters:
eventName- the eventsource- the source with which this object has been registered as a listener
-
disconnectionNotification
public void disconnectionNotification(java.lang.String eventName, java.lang.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:
disconnectionNotificationin interfaceBeanCommon- Parameters:
eventName- the eventsource- the source with which this object has been registered as a listener
-
getStructure
public Instances getStructure(java.lang.String eventName)
Get the structure of the output encapsulated in the named event. If the structure can't be determined in advance of seeing input, or this StructureProducer does not generate the named event, null should be returned.- Specified by:
getStructurein interfaceStructureProducer- Parameters:
eventName- the name of the output event that encapsulates the requested output.- Returns:
- the structure of the output encapsulated in the named event or null if it can't be determined in advance of seeing input or the named event is not generated by this StructureProducer.
-
getConnectedFormat
public Instances getConnectedFormat()
Returns the structure of the incoming instances (if any)- Returns:
- an
Instancesvalue
-
setEnvironment
public void setEnvironment(Environment env)
Set environment variables to use- Specified by:
setEnvironmentin interfaceEnvironmentHandler- Parameters:
env- the environment variables to use
-
-