Package uk.ac.starlink.vo

# Class TapQueryPanel

java.lang.Object
java.awt.Component
java.awt.Container
javax.swing.JComponent
javax.swing.JPanel
uk.ac.starlink.vo.TapQueryPanel

All Implemented Interfaces:
  `ImageObserver`, `MenuContainer`, `Serializable`, `Accessible`

public class TapQueryPanel extends JPanel
Panel for display of a TAP query for a given TAP service.

Since:
  15 Feb 2011
Author:
  Mark Taylor
See Also:
  - Serialized Form

## 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

### 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
`TapQueryPanel(TapTableLoadDialog tld)`
Constructor.

## Method Summary

Modifier and Type
Method
Description
`void`
`addCaretListener(CaretListener listener)`
Adds a listener for changes to the text in the displayed ADQL text entry panel.
`void`
`addControl(JComponent comp)`
Adds a given control to the line of buttons displayed at the top of this panel.
`void`
`addCustomExamples(String menuName, AdqlExample[] examples)`
Adds a submenu to the examples menu giving a list of custom ADQL example queries.
`String`
`getAdql()`
Returns the text currently entered in the ADQL text component.
`Action`
`getAuthenticateAction()`
Returns the action that logs in and out of the TAP service.
`uk.ac.starlink.auth.AuthStatus`
`getAuthStatus()`
Returns the current authentication status for this panel.
`TapCapabilityPanel`
`getCapabilityPanel()`
Returns the panel used to hold and display the TAP capability information.
`Action[]`
`getEditActions()`
Returns an array of GUI actions related to editing the ADQL text.
`String`
`getExampleQueryText(DaliExample daliEx)`
Returns the ADQL text corresponding to the query part of an example.
`TableSetPanel`
`getMetadataPanel()`
Returns the panel that displays table metadata.
`double[]`
`getSkyPos()`
Returns the currently preferred sky position to use in examples.
`void`
`removeCaretListener(CaretListener listener)`
Removes a listener previously added with addCaretListener.
`void`
`setExtraTables(AdqlValidator.ValidatorTable[] extraTables)`
Sets a list of extra tables available for valid queries.
`void`
`setServiceKit(TapServiceKit serviceKit)`
Sets the TAP service access used by this panel.
`void`
`updateServiceKit(TapServiceKit serviceKit)`
Dispatch various asynchronous requests to populate the state of this panel displaying characteristics of the TAP service.

### 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`

## Constructor Details

### TapQueryPanel

public TapQueryPanel(TapTableLoadDialog tld)
Constructor.

Parameters:
  `tld` - load dialogue configuring this panel

## Method Details

### getCapabilityPanel

public TapCapabilityPanel getCapabilityPanel()
Returns the panel used to hold and display the TAP capability information.

Returns:
  capability display panel

### getMetadataPanel

public TableSetPanel getMetadataPanel()
Returns the panel that displays table metadata.

Returns:
  table set panel

### getAdql

public String getAdql()
Returns the text currently entered in the ADQL text component.

Returns:
  adql text supplied by user

### getAuthStatus

public uk.ac.starlink.auth.AuthStatus getAuthStatus()
Returns the current authentication status for this panel.

Returns:
  auth status

### setServiceKit

public void setServiceKit(TapServiceKit serviceKit)
Sets the TAP service access used by this panel. Calling this will unconditionally initiate an asynchronous attempt to fill in service metadata from the given service.

Parameters:
  `serviceKit` - defines TAP service

### updateServiceKit

public void updateServiceKit(TapServiceKit serviceKit)
Dispatch various asynchronous requests to populate the state of this panel displaying characteristics of the TAP service. No attempt is made to re-establish authentication.

Parameters:
  `serviceKit` - service to be contacted

### setExtraTables

public void setExtraTables(AdqlValidator.ValidatorTable[] extraTables)
Sets a list of extra tables available for valid queries. By default ADQL validation is done on a list of tables acquired by reading the service's declared table metadata, but additional tables may be added for consideration using this call.

Parameters:
  `extraTables` - additional tables to be passed by the validator

### getEditActions

public Action[] getEditActions()
Returns an array of GUI actions related to editing the ADQL text.

Returns:
  edit action list

### getAuthenticateAction

public Action getAuthenticateAction()
Returns the action that logs in and out of the TAP service.

Returns:
  authentication action

### addControl

public void addControl(JComponent comp)
Adds a given control to the line of buttons displayed at the top of this panel.

Parameters:
  `comp` - component to add

### addCaretListener

public void addCaretListener(CaretListener listener)
Adds a listener for changes to the text in the displayed ADQL text entry panel. This uses a CaretListener rather than (what might be more appropriate) DocumentListener because the DocumentListener interface looks too hairy, especially for use by components that are themselves behaving asynchronously.

Parameters:
  `listener` - listener to add

### removeCaretListener

public void removeCaretListener(CaretListener listener)
Removes a listener previously added with addCaretListener.

Parameters:
  `listener` - listener to remove

### addCustomExamples

public void addCustomExamples(String menuName, AdqlExample[] examples)
Adds a submenu to the examples menu giving a list of custom ADQL example queries.

Parameters:
  `menuName` - name of submenu
  `examples` - example list

### getSkyPos

public double[] getSkyPos()
Returns the currently preferred sky position to use in examples. The default implementation returns null, which means examples must come up with some default themselves, but subclasses may override this.

Returns:
  2-element (RA,Dec) array, or null for no position

### getExampleQueryText

public String getExampleQueryText(DaliExample daliEx)
Returns the ADQL text corresponding to the query part of an example. Implementation is contentious; override it if you want.

Parameters:
  `daliEx` - example object
Returns:
  ADQL query text