Package uk.ac.starlink.topcat.join
Class MatchSpec
java.lang.Object
java.awt.Component
java.awt.Container
javax.swing.JComponent
javax.swing.JPanel
uk.ac.starlink.topcat.join.MatchSpec
- All Implemented Interfaces:
ImageObserver
,MenuContainer
,Serializable
,Accessible
- Direct Known Subclasses:
InterMatchSpec
,IntraMatchSpec
,PairMatchSpec
Abstract class defining general characteristics of a component which
can perform some sort of matching action and present itself graphically.
- Since:
- 18 Mar 2004
- Author:
- Mark Taylor (Starlink)
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class javax.swing.JPanel
JPanel.AccessibleJPanel
Nested classes/interfaces inherited from class javax.swing.JComponent
JComponent.AccessibleJComponent
Nested classes/interfaces inherited from class java.awt.Container
Container.AccessibleAWTContainer
Nested classes/interfaces inherited from class java.awt.Component
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final uk.ac.starlink.table.ValueInfo
static final uk.ac.starlink.table.ValueInfo
Fields inherited from class javax.swing.JComponent
listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
Fields inherited from class java.awt.Component
accessibleContext, 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 -
Method Summary
Modifier and TypeMethodDescriptionvoid
Adds a listener to be notified if the settings of this object change in a way that might change the details of the match being specified.abstract void
calculate
(uk.ac.starlink.table.join.ProgressIndicator indicator) Performs the match calculation.abstract void
Invoked from the event dispatch thread beforecalculate(uk.ac.starlink.table.join.ProgressIndicator)
is called.uk.ac.starlink.table.JoinFixAction[]
getDefaultFixActions
(int nTable) Returns a standard set of FixActions for a given number of tables.abstract uk.ac.starlink.ttools.task.Setting[]
getOutputSettings
(uk.ac.starlink.task.Task task) Returns stilts command settings specific to this MatchSpec that control match output table generation.getPanel()
Returns a graphical component which can be presented to the user representing the match to be carried out.abstract TupleSelector[]
Returns the components used to supply input value expressions.void
matchFailure
(Throwable th, Component parent) This method is called from the event dispatch thread if the calculation terminates with an exception.abstract void
matchSuccess
(Component parent) This method is called from the event dispatch thread if the calculation terminates normally.void
Removes a previously added listener.static void
showSuccessMessage
(Component parent, String[] lines, Action plotAct) Displays a modal dialogue containing a message, and possibly the option to plot the match result.Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, getComponentGraphics, 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, isPaintingOrigin, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, 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, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addImpl, 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, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, transferFocusDownCycle, validate, validateTree
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, firePropertyChange, 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, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, 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
-
Field Details
-
MATCHTYPE_INFO
public static final uk.ac.starlink.table.ValueInfo MATCHTYPE_INFO -
ENGINE_INFO
public static final uk.ac.starlink.table.ValueInfo ENGINE_INFO
-
-
Constructor Details
-
MatchSpec
public MatchSpec()
-
-
Method Details
-
calculate
public abstract void calculate(uk.ac.starlink.table.join.ProgressIndicator indicator) throws IOException, InterruptedException Performs the match calculation. This method is called from a thread other than the event dispatch thread, so it can take its time, and must not call Swing things.- Parameters:
indicator
- a progress indicator which the calculation should try to update- Throws:
IOException
- if there's some troubleInterruptedException
- if the user interrupts the calculation
-
matchSuccess
This method is called from the event dispatch thread if the calculation terminates normally.- Parameters:
parent
- window controlling the invocation
-
checkArguments
public abstract void checkArguments()Invoked from the event dispatch thread beforecalculate(uk.ac.starlink.table.join.ProgressIndicator)
is called. A check should be made that it is sensible to call calculate; if not an exception should be thrown.- Throws:
IllegalStateException
- (with a message suitable for presentation to the user) ifcalculate
cannot be called in the current state
-
matchFailure
This method is called from the event dispatch thread if the calculation terminates with an exception.- Parameters:
th
- exception characterising the failureparent
- window controlling the invocation
-
getPanel
Returns a graphical component which can be presented to the user representing the match to be carried out. The user may interact with this to modify the match characteristics.- Returns:
- graphical component
-
getTupleSelectors
Returns the components used to supply input value expressions.- Returns:
- array of tuple selectors
-
getOutputSettings
public abstract uk.ac.starlink.ttools.task.Setting[] getOutputSettings(uk.ac.starlink.task.Task task) Returns stilts command settings specific to this MatchSpec that control match output table generation.- Parameters:
task
- stilts match task- Returns:
- output settings array
-
addActionListener
Adds a listener to be notified if the settings of this object change in a way that might change the details of the match being specified.- Parameters:
l
- listener to add
-
removeActionListener
Removes a previously added listener.- Parameters:
l
- listener to remove
-
getDefaultFixActions
public uk.ac.starlink.table.JoinFixAction[] getDefaultFixActions(int nTable) Returns a standard set of FixActions for a given number of tables.- Parameters:
nTable
- number of tables- Returns:
nTable
-element array of sensible FixActions
-
showSuccessMessage
Displays a modal dialogue containing a message, and possibly the option to plot the match result.- Parameters:
parent
- parent componentlines
- lines of text summarising the resultplotAct
- an action which can generate a plot of the match result
-