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 JPanel
JPanel.AccessibleJPanelNested classes/interfaces inherited from class JComponent
JComponent.AccessibleJComponentNested classes/interfaces inherited from class Container
Container.AccessibleAWTContainerNested classes/interfaces inherited from class Component
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final uk.ac.starlink.table.ValueInfostatic final uk.ac.starlink.table.ValueInfoFields inherited from class JComponent
listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOWFields inherited from class Component
accessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENTFields inherited from interface ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidAdds 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 voidcalculate(uk.ac.starlink.table.join.ProgressIndicator indicator) Performs the match calculation.abstract voidInvoked from the event dispatch thread beforecalculate(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.voidmatchFailure(Throwable th, Component parent) This method is called from the event dispatch thread if the calculation terminates with an exception.abstract voidmatchSuccess(Component parent) This method is called from the event dispatch thread if the calculation terminates normally.voidRemoves a previously added listener.static voidshowSuccessMessage(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 JPanel
getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUIMethods inherited from class 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, updateMethods inherited from class 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, validateTreeMethods inherited from class 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(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) ifcalculatecannot be called in the current state
-
matchFailure
-
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
-