Class MatchSpec

  • All Implemented Interfaces:
    java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible
    Direct Known Subclasses:
    InterMatchSpec, IntraMatchSpec, PairMatchSpec

    public abstract class MatchSpec
    extends javax.swing.JPanel
    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:
    Serialized Form
    • Nested Class Summary

      • Nested classes/interfaces inherited from class javax.swing.JPanel

        javax.swing.JPanel.AccessibleJPanel
      • Nested classes/interfaces inherited from class javax.swing.JComponent

        javax.swing.JComponent.AccessibleJComponent
      • Nested classes/interfaces inherited from class java.awt.Container

        java.awt.Container.AccessibleAWTContainer
      • Nested classes/interfaces inherited from class java.awt.Component

        java.awt.Component.AccessibleAWTComponent, java.awt.Component.BaselineResizeBehavior, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
    • Field Summary

      Fields 
      Modifier and Type Field Description
      static uk.ac.starlink.table.ValueInfo ENGINE_INFO  
      static uk.ac.starlink.table.ValueInfo MATCHTYPE_INFO  
      • 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 
      Constructor Description
      MatchSpec()  
    • Method Summary

      All Methods Static Methods Instance Methods Abstract Methods Concrete Methods 
      Modifier and Type Method Description
      abstract void calculate​(uk.ac.starlink.table.join.ProgressIndicator indicator)
      Performs the match calculation.
      abstract void checkArguments()
      Invoked from the event dispatch thread before calculate(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.
      javax.swing.JComponent getPanel()
      Returns a graphical component which can be presented to the user representing the match to be carried out.
      void matchFailure​(java.lang.Throwable th, java.awt.Component parent)
      This method is called from the event dispatch thread if the calculation terminates with an exception.
      abstract void matchSuccess​(java.awt.Component parent)
      This method is called from the event dispatch thread if the calculation terminates normally.
      static void showSuccessMessage​(java.awt.Component parent, java.lang.String[] lines, javax.swing.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
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    • Field Detail

      • 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 Detail

      • MatchSpec

        public MatchSpec()
    • Method Detail

      • calculate

        public abstract void calculate​(uk.ac.starlink.table.join.ProgressIndicator indicator)
                                throws java.io.IOException,
                                       java.lang.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:
        java.io.IOException - if there's some trouble
        java.lang.InterruptedException - if the user interrupts the calculation
      • matchSuccess

        public abstract void matchSuccess​(java.awt.Component parent)
        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 before calculate(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:
        java.lang.IllegalStateException - (with a message suitable for presentation to the user) if calculate cannot be called in the current state
      • matchFailure

        public void matchFailure​(java.lang.Throwable th,
                                 java.awt.Component parent)
        This method is called from the event dispatch thread if the calculation terminates with an exception.
        Parameters:
        th - exception characterising the failure
        parent - window controlling the invocation
      • getPanel

        public javax.swing.JComponent 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
      • getDefaultFixActions

        public uk.ac.starlink.table.JoinFixAction[] getDefaultFixActions​(int nTable)
        Returns a standard set of FixActions for a given number of tables.
        Parameters:
        nTable -
        Returns:
        nTable-element array of sensible FixActions
      • showSuccessMessage

        public static void showSuccessMessage​(java.awt.Component parent,
                                              java.lang.String[] lines,
                                              javax.swing.Action plotAct)
        Displays a modal dialogue containing a message, and possibly the option to plot the match result.
        Parameters:
        parent - parent component
        lines - lines of text summarising the result
        plotAct - an action which can generate a plot of the match result