Class PairwiseSequencePanel
- All Implemented Interfaces:
ImageObserver,MenuContainer,Serializable,SwingConstants,PairwiseRenderContext,SequenceRenderContext,Changeable
A PairwiseSequencePanel is a panel that displays a
pair of sequences; one sequence (the primary) may be either
left-to-right (HORIZONTAL) or from top-to-bottom (VERTICAL). The
other sequence (secondary) will then occupy the remaining
direction. It has an associated scale which is the number of pixels
per symbol and applies to both sequences. The leading and trailing
borders apply to the primary sequence only.
The primary purpose of this component is to provide a means for representing graphically comparisons between two sequences. This could be anything from traditional dotplots (or variants created with lines) to a more complex layered plot involving superimposed renderers.
Each sequence has a translation which is the number of
Symbols to skip before rendering starts. In order to
produce a scrolling effect, the setSymbolTranslation
or setSecondarySymbolTranslation method may be hooked
up to an Adjustable such as JScrollBar or
to an event listener.
The exact number of Symbols rendered in each
sequence depends on the dimensions of the panel and the
scale. Resizing the panel will cause the number of
Symbols rendered to change accordingly.
The panel will fill its background to the Color
defined by the setBackground() method provided that it
has been defined as opaque using setOpaque().
The change event handling code is based on the original panel and other BioJava components by Matthew and Thomas.
- Since:
- 1.2
- Author:
- Keith James, Matthew Pocock
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class javax.swing.JComponent
JComponent.AccessibleJComponentNested classes/interfaces inherited from class java.awt.Container
Container.AccessibleAWTContainerNested classes/interfaces inherited from class java.awt.Component
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategyNested classes/interfaces inherited from interface org.biojava.bio.gui.sequence.SequenceRenderContext
SequenceRenderContext.Border -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final ChangeTypeConstantRENDERERis aChangeTypewhich indicates a change to the renderer, requiring a layout update.static final ChangeTypeConstantTRANSLATIONis aChangeTypewhich indicates a change to the translation, requiring a paint update.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_WINDOWFields inherited from class java.awt.Component
accessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENTFields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTHFields inherited from interface org.biojava.bio.gui.sequence.SequenceRenderContext
LAYOUT, REPAINTFields inherited from interface javax.swing.SwingConstants
BOTTOM, CENTER, EAST, HORIZONTAL, LEADING, LEFT, NEXT, NORTH, NORTH_EAST, NORTH_WEST, PREVIOUS, RIGHT, SOUTH, SOUTH_EAST, SOUTH_WEST, TOP, TRAILING, VERTICAL, WEST -
Constructor Summary
ConstructorsConstructorDescriptionCreates a newPairwiseSequencePanelwith the default settings (primary sequence direction HORIZONTAL, scale 10.0 pixels per symbol, symbol translation 0, secondary symbol translation 0, leading border 0.0, trailing border 0.0, 12 point sanserif font). -
Method Summary
Modifier and TypeMethodDescriptionvoidaddChangeListeneradds a listener for all types of change.voidaddChangeListeneradds a listener for specific types of change.voidaddSequenceViewerListeneradds a listener for mouse clickSequenceViewerEvents.voidaddSequenceViewerMotionListeneradds a listener for mouse motionSequenceViewerEvents.protected ChangeSupportgetChangeSupportlazily instantiates a helper for change listeners.intgetDirectionreturns the direction in which this context expects the sequence to be rendered - HORIZONTAL or VERTICAL.getFeaturesreturns all of theFeatures belonging to the currently renderedSequence.getLeadingBorderreturns the leading border of the primary sequence.getRange()getRangereturns aRangeLocationrepresenting the region of the sequence currently being rendered.getRendererreturns the currentPairwiseSequenceRenderer.getRenderingHintsreturns theRenderingHintscurrently being used by theGraphics2Dinstances of delegate renderers.doublegetScale()getScalereturns the scale in pixels perSymbol.intgetSecondaryDirectionreturns the direction in which this context expects the secondary sequence to be rendered - HORIZONTAL or VERTICAL.getSecondaryFeaturesreturns all of theFeatures belonging to the currently rendered secondarySequence.getSecondaryRangereturns aRangeLocationrepresenting the region of the secondary sequence currently being rendered.getSecondarySequencereturns the entire secondarySequencecurrently being rendered.getSecondarySymbolsreturns all of theSymbols belonging to the currently rendered secondarySequence.intgetSecondarySymbolTranslationreturns the current translation inSymbols which will be applied when rendering.getSequencereturns the entireSequencecurrently being rendered.getSymbolsreturns all of theSymbols belonging to the currently renderedSequence.intgetSymbolTranslationreturns the current translation inSymbols which will be applied when rendering.getTrailingBorderreturns the trailing border of the primary sequence.intgetVisibleSecondarySymbolCountreturns the maximum number of secondarySymbols which can be rendered in the visible area (excluding all borders) of thePairwiseSequencePanelat the current scale.intgetVisibleSymbolCountreturns the maximum number ofSymbols which can be rendered in the visible area (excluding all borders) of thePairwiseSequencePanelat the current scale.intgraphicsToSecondarySequence(double graphicsPos) graphicsToSecondarySequenceconverts a graphical position to a secondary sequence index.intgraphicsToSecondarySequence(Point point) graphicsToSecondarySequenceconverts a graphical position to a secondary sequence index.intgraphicsToSequence(double graphicsPos) graphicsToSequenceconverts a graphical position to a sequence index.intgraphicsToSequence(Point2D point) graphicsToSequenceconverts a graphical position to a sequence index.protected booleanhasListenersreturns true if there are active listeners for BioJava events.protected booleanisActive()isActivereturns true if both theSequences to be rendered and thePairwiseHomologyRendererare not null.booleanA particular ChangeType can never be raised by this Changeable.voidvoidremoveChangeListenerremoves a listener.voidremoveChangeListenerremoves a listener.voidremoveSequenceViewerListenerremoves a listener for mouse clickSequenceViewerEvents.voidaddSequenceViewerMotionListenerremoves a listener for mouse motionSequenceViewerEvents.voidresizeAndValidatesets the minimum, preferred and maximum sizes of the component according to the current visible symbol count.doublesecondarySequenceToGraphics(int sequencePos) secondarySequenceToGraphicsconverts a sequence index to a graphical position.doublesequenceToGraphics(int sequencePos) sequenceToGraphicsconverts a sequence index to a graphical position.voidsetDirection(int direction) setDirectionsets the direction in which this context will render the sequence - HORIZONTAL or VERTICAL.voidsetRenderer(PairwiseSequenceRenderer renderer) setRenderersets the currentPairwiseSequenceRenderer.voidsetRenderingHints(RenderingHints hints) setRenderingHintssets theRenderingHintswhich will be used by theGraphics2Dinstances of delegate renderers.voidsetScale(double scale) setScalesets the scale in pixels perSymbol.voidsetSecondarySequence(Sequence sequence) setSecondarySequencesets the secondarySequenceto be rendered.voidsetSecondarySymbolTranslation(int translation) setSecondarySymbolTranslationsets the translation inSymbols which will be applied when rendering.voidsetSequence(Sequence sequence) setSequencesets theSequenceto be rendered.voidsetSymbolTranslation(int translation) setSymbolTranslationsets the translation inSymbols which will be applied when rendering.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, getUI, getUIClassID, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingOrigin, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintImmediately, paintImmediately, paramString, 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, updateUIMethods 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, validateTreeMethods 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, getAccessibleContext, 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, transferFocusUpCycleMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface org.biojava.bio.gui.sequence.SequenceRenderContext
getFont
-
Field Details
-
RENDERER
ConstantRENDERERis aChangeTypewhich indicates a change to the renderer, requiring a layout update. -
TRANSLATION
ConstantTRANSLATIONis aChangeTypewhich indicates a change to the translation, requiring a paint update.
-
-
Constructor Details
-
PairwiseSequencePanel
public PairwiseSequencePanel()Creates a newPairwiseSequencePanelwith the default settings (primary sequence direction HORIZONTAL, scale 10.0 pixels per symbol, symbol translation 0, secondary symbol translation 0, leading border 0.0, trailing border 0.0, 12 point sanserif font).
-
-
Method Details
-
getSequence
getSequencereturns the entireSequencecurrently being rendered.- Returns:
- a
Sequence.
-
setSequence
setSequencesets theSequenceto be rendered.- Parameters:
sequence- aSequence.
-
getSecondarySequence
getSecondarySequencereturns the entire secondarySequencecurrently being rendered.- Returns:
- a
Sequence.
-
setSecondarySequence
setSecondarySequencesets the secondarySequenceto be rendered.- Parameters:
sequence- aSequence.
-
getSymbols
getSymbolsreturns all of theSymbols belonging to the currently renderedSequence.- Specified by:
getSymbolsin interfaceSequenceRenderContext- Returns:
- a
SymbolList.
-
getSecondarySymbols
getSecondarySymbolsreturns all of theSymbols belonging to the currently rendered secondarySequence.- Specified by:
getSecondarySymbolsin interfacePairwiseRenderContext- Returns:
- a
SymbolList.
-
getFeatures
getFeaturesreturns all of theFeatures belonging to the currently renderedSequence.- Specified by:
getFeaturesin interfaceSequenceRenderContext- Returns:
- a
FeatureHolder.
-
getSecondaryFeatures
getSecondaryFeaturesreturns all of theFeatures belonging to the currently rendered secondarySequence.- Specified by:
getSecondaryFeaturesin interfacePairwiseRenderContext- Returns:
- a
FeatureHolder.
-
getRange
getRangereturns aRangeLocationrepresenting the region of the sequence currently being rendered. This is calculated from the size of thePairwiseSequencePanel, the current rendering translation and the current scale. The value will therefore change when thePairwiseSequencePanelis resized or "scrolled" by changing the translation.- Specified by:
getRangein interfaceSequenceRenderContext- Returns:
- a
RangeLocation.
-
getSecondaryRange
getSecondaryRangereturns aRangeLocationrepresenting the region of the secondary sequence currently being rendered. This is calculated from the size of thePairwiseSequencePanel, the current rendering translation and the current scale. The value will therefore change when thePairwiseSequencePanelis resized or "scrolled" by changing the translation.- Specified by:
getSecondaryRangein interfacePairwiseRenderContext- Returns:
- a
RangeLocation.
-
getDirection
getDirectionreturns the direction in which this context expects the sequence to be rendered - HORIZONTAL or VERTICAL.- Specified by:
getDirectionin interfaceSequenceRenderContext- Returns:
- an
int.
-
setDirection
setDirectionsets the direction in which this context will render the sequence - HORIZONTAL or VERTICAL.- Parameters:
direction- anint.- Throws:
IllegalArgumentException- if an invalid direction is used.
-
getSecondaryDirection
getSecondaryDirectionreturns the direction in which this context expects the secondary sequence to be rendered - HORIZONTAL or VERTICAL.- Specified by:
getSecondaryDirectionin interfacePairwiseRenderContext- Returns:
- an
int.
-
getScale
getScalereturns the scale in pixels perSymbol.- Specified by:
getScalein interfaceSequenceRenderContext- Returns:
- a
double.
-
setScale
setScalesets the scale in pixels perSymbol.- Parameters:
scale- adouble.
-
getSymbolTranslation
getSymbolTranslationreturns the current translation inSymbols which will be applied when rendering. The sequence will be rendered starting at this translation. Values may be from 0 to the length of the rendered sequence.- Returns:
- an
int.
-
setSymbolTranslation
setSymbolTranslationsets the translation inSymbols which will be applied when rendering. The sequence will be rendered starting at that translation. Values may be from 0 to the length of the rendered sequence.- Parameters:
translation- anint.- Throws:
IndexOutOfBoundsException- if the translation is greater than the sequence length.
-
getSecondarySymbolTranslation
getSecondarySymbolTranslationreturns the current translation inSymbols which will be applied when rendering. The secondary sequence will be rendered starting at this translation. Values may be from 0 to the length of the rendered sequence.- Returns:
- an
int.
-
setSecondarySymbolTranslation
setSecondarySymbolTranslationsets the translation inSymbols which will be applied when rendering. The secondary sequence will be rendered starting at that translation. Values may be from 0 to the length of the rendered sequence.- Parameters:
translation- anint.- Throws:
IndexOutOfBoundsException- if the translation is greater than the sequence length.
-
getLeadingBorder
getLeadingBorderreturns the leading border of the primary sequence.- Specified by:
getLeadingBorderin interfaceSequenceRenderContext- Returns:
- a
SequenceRenderContext.Border.
-
getTrailingBorder
getTrailingBorderreturns the trailing border of the primary sequence.- Specified by:
getTrailingBorderin interfaceSequenceRenderContext- Returns:
- a
SequenceRenderContext.Border.
-
getRenderer
getRendererreturns the currentPairwiseSequenceRenderer.- Returns:
- a
PairwiseSequenceRenderer.
-
setRenderer
setRenderersets the currentPairwiseSequenceRenderer.- Throws:
ChangeVetoException
-
getRenderingHints
getRenderingHintsreturns theRenderingHintscurrently being used by theGraphics2Dinstances of delegate renderers. If none is set, the constructor creates one with a nullMap.- Returns:
- a
RenderingHints.
-
setRenderingHints
setRenderingHintssets theRenderingHintswhich will be used by theGraphics2Dinstances of delegate renderers.- Parameters:
hints- aRenderingHints.
-
sequenceToGraphics
sequenceToGraphicsconverts a sequence index to a graphical position.- Specified by:
sequenceToGraphicsin interfaceSequenceRenderContext- Parameters:
sequencePos- anint.- Returns:
- a
double.
-
secondarySequenceToGraphics
secondarySequenceToGraphicsconverts a sequence index to a graphical position.- Specified by:
secondarySequenceToGraphicsin interfacePairwiseRenderContext- Parameters:
sequencePos- anint.- Returns:
- a
double.
-
graphicsToSequence
graphicsToSequenceconverts a graphical position to a sequence index.- Specified by:
graphicsToSequencein interfaceSequenceRenderContext- Parameters:
graphicsPos- adouble.- Returns:
- an
int.
-
graphicsToSequence
graphicsToSequenceconverts a graphical position to a sequence index.- Specified by:
graphicsToSequencein interfaceSequenceRenderContext- Parameters:
point- a graphic position.- Returns:
- an
int.
-
graphicsToSecondarySequence
graphicsToSecondarySequenceconverts a graphical position to a secondary sequence index.- Specified by:
graphicsToSecondarySequencein interfacePairwiseRenderContext- Parameters:
graphicsPos- adouble.- Returns:
- an
int.
-
graphicsToSecondarySequence
graphicsToSecondarySequenceconverts a graphical position to a secondary sequence index.- Specified by:
graphicsToSecondarySequencein interfacePairwiseRenderContext- Parameters:
point- aPoint.- Returns:
- an
int.
-
getVisibleSymbolCount
getVisibleSymbolCountreturns the maximum number ofSymbols which can be rendered in the visible area (excluding all borders) of thePairwiseSequencePanelat the current scale. Note that if the translation is greater than 0, the actual number ofSymbols rendered will be less.- Returns:
- an
int.
-
getVisibleSecondarySymbolCount
getVisibleSecondarySymbolCountreturns the maximum number of secondarySymbols which can be rendered in the visible area (excluding all borders) of thePairwiseSequencePanelat the current scale. Note that if the translation is greater than 0, the actual number ofSymbols rendered will be less.- Returns:
- an
int.
-
paintComponent
- Overrides:
paintComponentin classJComponent
-
resizeAndValidate
resizeAndValidatesets the minimum, preferred and maximum sizes of the component according to the current visible symbol count. -
addChangeListener
addChangeListeneradds a listener for all types of change.- Specified by:
addChangeListenerin interfaceChangeable- Parameters:
cl- aChangeListener.
-
addChangeListener
addChangeListeneradds a listener for specific types of change.- Specified by:
addChangeListenerin interfaceChangeable- Parameters:
cl- aChangeListener.ct- aChangeType.
-
removeChangeListener
removeChangeListenerremoves a listener.- Specified by:
removeChangeListenerin interfaceChangeable- Parameters:
cl- aChangeListener.
-
removeChangeListener
removeChangeListenerremoves a listener.- Specified by:
removeChangeListenerin interfaceChangeable- Parameters:
cl- aChangeListener.ct- aChangeType.
-
isUnchanging
Description copied from interface:ChangeableA particular ChangeType can never be raised by this Changeable.
If this returns true, then it is guaranteed that change events of this type (and all child types) can never under any circumstances be fired by this Changeable instance. If it returns false, that does not mean that this type of event will or even can be raised, but that it is worth registering listeners incase.
- Specified by:
isUnchangingin interfaceChangeable- Parameters:
ct- the ChangeType to check- Returns:
- true if ChangeEvents of this type are guaranteed to never be fired
-
addSequenceViewerListener
addSequenceViewerListeneradds a listener for mouse clickSequenceViewerEvents.- Parameters:
svl- aSequenceViewerListener.
-
removeSequenceViewerListener
removeSequenceViewerListenerremoves a listener for mouse clickSequenceViewerEvents.- Parameters:
svl- aSequenceViewerListener.
-
addSequenceViewerMotionListener
addSequenceViewerMotionListeneradds a listener for mouse motionSequenceViewerEvents.- Parameters:
svml- aSequenceViewerMotionListener.
-
removeSequenceViewerMotionListener
addSequenceViewerMotionListenerremoves a listener for mouse motionSequenceViewerEvents.- Parameters:
svml- aSequenceViewerMotionListener.
-
getChangeSupport
getChangeSupportlazily instantiates a helper for change listeners.- Parameters:
ct- aChangeType.- Returns:
- a
ChangeSupportobject.
-
hasListeners
hasListenersreturns true if there are active listeners for BioJava events.- Returns:
- a
booleanvalue.
-
isActive
isActivereturns true if both theSequences to be rendered and thePairwiseHomologyRendererare not null.- Returns:
- a
booleanvalue.
-