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:
ImageObserver
,MenuContainer
,Serializable
,EventListener
,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 JPanel
implements BeanCommon, Visible, 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:
-
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
-
Method Summary
Modifier and TypeMethodDescriptionvoid
Accept and process a data set eventvoid
Accept and process an instance eventvoid
Accept and process a test set eventvoid
Accept and process a training set eventvoid
Add a datasource listenervoid
Add an instance listenerboolean
Returns true if, at this time, the object will accept a connection via the named eventboolean
connectionAllowed
(String eventName) Returns true if, at this time, the object will accept a connection via the named eventvoid
connectionNotification
(String eventName, 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.void
disconnectionNotification
(String eventName, Object source) Notify this object that it has been deregistered as a listener with a source for named event.boolean
eventGeneratable
(String eventName) Returns true if, at the current time, the named event could be generated.Get the size of the in-memory bufferReturns the structure of the incoming instances (if any)Get the custom (descriptive) name for this bean (if one has been set)Get the sort rules to usegetStructure
(String eventName) Get the structure of the output encapsulated in the named event.Get the directory to use for temporary files during incremental operationGet the visual representationHelp information suitable for displaying in the GUI.boolean
isBusy()
Returns true if.void
Remove a datasource listenervoid
Remove an instance listenervoid
setBufferSize
(String buffSize) Set the size of the in-memory buffervoid
setCustomName
(String name) Set a custom (descriptive) name for this beanvoid
Set environment variables to usevoid
Set a loggervoid
setSortDetails
(String sortDetails) Set the sort rules to usevoid
setTempDirectory
(String tempDir) Set the directory to use for temporary files during incremental operationvoid
setVisual
(BeanVisual newVisual) Set a new visual representationvoid
stop()
Stop any processing that the bean might be doing.void
Use the default visual representationMethods 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
-
Constructor Details
-
Sorter
public Sorter()Constructs a new Sorter
-
-
Method Details
-
globalInfo
Help information suitable for displaying in the GUI.- Returns:
- a description of this component
-
eventGeneratable
Returns true if, at the current time, the named event could be generated.- Specified by:
eventGeneratable
in interfaceEventConstraints
- Parameters:
eventName
- the name of the event in question- Returns:
- true if the named event could be generated
-
acceptInstance
Accept and process an instance event- Specified by:
acceptInstance
in interfaceInstanceListener
- Parameters:
e
- anInstanceEvent
value
-
acceptTestSet
Accept and process a test set event- Specified by:
acceptTestSet
in interfaceTestSetListener
- Parameters:
e
- aTestSetEvent
value
-
acceptTrainingSet
Accept and process a training set event- Specified by:
acceptTrainingSet
in interfaceTrainingSetListener
- Parameters:
e
- aTrainingSetEvent
value
-
getBufferSize
Get the size of the in-memory buffer- Returns:
- the size of the in-memory buffer
-
setBufferSize
Set the size of the in-memory buffer- Parameters:
buffSize
- the size of the in-memory buffer
-
setTempDirectory
Set the directory to use for temporary files during incremental operation- Parameters:
tempDir
- the temp dir to use
-
getTempDirectory
Get the directory to use for temporary files during incremental operation- Returns:
- the temp dir to use
-
setSortDetails
Set the sort rules to use- Parameters:
sortDetails
- the sort rules in internal string representation
-
getSortDetails
Get the sort rules to use- Returns:
- the sort rules in internal string representation
-
acceptDataSet
Accept and process a data set event- Specified by:
acceptDataSet
in interfaceDataSourceListener
- Parameters:
e
- aDataSetEvent
value
-
addDataSourceListener
Add a datasource listener- Specified by:
addDataSourceListener
in interfaceDataSource
- Parameters:
dsl
- the datasource listener to add
-
removeDataSourceListener
Remove a datasource listener- Specified by:
removeDataSourceListener
in interfaceDataSource
- Parameters:
dsl
- the datasource listener to remove
-
addInstanceListener
Add an instance listener- Specified by:
addInstanceListener
in interfaceDataSource
- Parameters:
dsl
- the instance listener to add
-
removeInstanceListener
Remove an instance listener- Specified by:
removeInstanceListener
in interfaceDataSource
- Parameters:
dsl
- the instance listener to remove
-
useDefaultVisual
public void useDefaultVisual()Use the default visual representation- Specified by:
useDefaultVisual
in interfaceVisible
-
setVisual
Set a new visual representation -
getVisual
Get the visual representation -
setCustomName
Set a custom (descriptive) name for this bean- Specified by:
setCustomName
in interfaceBeanCommon
- Parameters:
name
- the name to use
-
getCustomName
Get the custom (descriptive) name for this bean (if one has been set)- Specified by:
getCustomName
in interfaceBeanCommon
- Returns:
- the custom name (or the default name)
-
stop
public void stop()Stop any processing that the bean might be doing.- Specified by:
stop
in 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:
isBusy
in interfaceBeanCommon
- Returns:
- true if the bean is busy.
-
setLog
Set a logger- Specified by:
setLog
in interfaceBeanCommon
- Parameters:
logger
- aweka.gui.Logger
value
-
connectionAllowed
Returns true if, at this time, the object will accept a connection via the named event- Specified by:
connectionAllowed
in interfaceBeanCommon
- Parameters:
esd
- the EventSetDescriptor for the event in question- Returns:
- true if the object will accept a connection
-
connectionAllowed
Returns true if, at this time, the object will accept a connection via the named event- Specified by:
connectionAllowed
in interfaceBeanCommon
- Parameters:
eventName
- the name of the event- Returns:
- true if the object will accept a connection
-
connectionNotification
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:
connectionNotification
in interfaceBeanCommon
- Parameters:
eventName
- the eventsource
- the source with which this object has been registered as a listener
-
disconnectionNotification
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 interfaceBeanCommon
- Parameters:
eventName
- the eventsource
- the source with which this object has been registered as a listener
-
getStructure
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:
getStructure
in 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
Returns the structure of the incoming instances (if any)- Returns:
- an
Instances
value
-
setEnvironment
Set environment variables to use- Specified by:
setEnvironment
in interfaceEnvironmentHandler
- Parameters:
env
- the environment variables to use
-