Class PairwiseFilteringRenderer
- All Implemented Interfaces:
Serializable
,PairwiseSequenceRenderer
,Changeable
PairwiseFilteringRenderer
wraps a
PairwiseSequenceRenderer
and filters the
PairwiseRenderContext
s passed to it. The renderer
receives a new PairwiseRenderContext
which has had
both of its FeatureHolder
s filtered with the
FeatureFilter
.
Instances of this class cache up to 5 of the derived
PairwiseRenderContext
s. Therefore cycling through up
to 5 different FeatureFilter
s will only be hitting the
cache rather than recalculating everthing. Should the
FeatureHolder
s themselves change, the cache will be
flushed. As only the features overlapping the context's range are
filtered, changing the range will also result in re-filtering.
- Since:
- 1.2
- Author:
- Keith James, Matthew Pocock
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from interface org.biojava.bio.gui.sequence.PairwiseSequenceRenderer
PairwiseSequenceRenderer.PairwiseRendererForwarder
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected FeatureFilter
filter
is the filter applied to bothFeatureHolder
s.static final ChangeType
ConstantFILTER
indicating a change to the renderer's filter.protected boolean
recurse
indicates whether the filter should recurse through any subfeatures.static final ChangeType
ConstantRECURSE
indicating a change to the renderer's filter recursion flag.static final ChangeType
ConstantRENDERER
indicating a change to the renderer. -
Constructor Summary
ConstructorsConstructorDescriptionCreates a newPairwiseFilteringRenderer
which uses a filter which accepts all features.PairwiseFilteringRenderer
(PairwiseSequenceRenderer renderer, FeatureFilter filter, boolean recurse) Creates a newPairwiseFilteringRenderer
. -
Method Summary
Modifier and TypeMethodDescriptionprotected ChangeSupport
Called to retrieve the ChangeSupport for this object.getFilter
returns the current filter.boolean
getRecurse
returns the recursion flag of the filter.getRenderer
return the current renderer.protected PairwiseRenderContext
getSubContext
(PairwiseRenderContext context) getSubContext
creates a new context which hasFeatureHolder
s filtered using the current filter.void
paint
(Graphics2D g2, PairwiseRenderContext context) paint
s some or all of the information about the sequence pair.processMouseEvent
(PairwiseRenderContext context, MouseEvent me, List path) processMouseEvent
produces aSequenceViewerEvent
in response to a mouse gesture.void
setFilter
(FeatureFilter filter) setFilter
sets the filter.void
setRecurse
(boolean recurse) setRecurse
sets the recursion flag on the filter.void
setRenderer
(PairwiseSequenceRenderer renderer) setRenderer
sets the renderer.Methods inherited from class org.biojava.utils.AbstractChangeable
addChangeListener, addChangeListener, generateChangeSupport, hasListeners, hasListeners, isUnchanging, removeChangeListener, removeChangeListener
-
Field Details
-
FILTER
ConstantFILTER
indicating a change to the renderer's filter. -
RECURSE
ConstantRECURSE
indicating a change to the renderer's filter recursion flag. -
RENDERER
ConstantRENDERER
indicating a change to the renderer. -
filter
filter
is the filter applied to bothFeatureHolder
s. -
recurse
recurse
indicates whether the filter should recurse through any subfeatures.
-
-
Constructor Details
-
PairwiseFilteringRenderer
Creates a newPairwiseFilteringRenderer
which uses a filter which accepts all features.- Parameters:
renderer
- aPairwiseSequenceRenderer
.
-
PairwiseFilteringRenderer
public PairwiseFilteringRenderer(PairwiseSequenceRenderer renderer, FeatureFilter filter, boolean recurse) Creates a newPairwiseFilteringRenderer
.- Parameters:
renderer
- aPairwiseSequenceRenderer
.filter
- aFeatureFilter
.recurse
- aboolean
.
-
-
Method Details
-
getChangeSupport
Description copied from class:AbstractChangeable
Called to retrieve the ChangeSupport for this object.Your implementation of this method should have the following structure:
It is usual for the forwarding listeners (someForwarder in this example) to be transient and lazily instantiated. Be sure to register invalid input: '&' unregister the forwarder in the code that does the ChangeEvent handling in setter methods.ChangeSupport cs = super.getChangeSupport(ct); if(someForwarder == null invalid input: '&'invalid input: '&' ct.isMatching(SomeInterface.SomeChangeType)) { someForwarder = new ChangeForwarder(... this.stateVariable.addChangeListener(someForwarder, VariableInterface.AChange); } return cs;
- Overrides:
getChangeSupport
in classAbstractChangeable
-
getRenderer
getRenderer
return the current renderer.- Returns:
- a
PairwiseSequenceRenderer
.
-
setRenderer
setRenderer
sets the renderer.- Parameters:
renderer
- aPairwiseSequenceRenderer
.- Throws:
ChangeVetoException
- if the change is vetoed.
-
getFilter
getFilter
returns the current filter.- Returns:
- a
FeatureFilter
.
-
setFilter
setFilter
sets the filter.- Parameters:
filter
- aFeatureFilter
.- Throws:
ChangeVetoException
- if the change is vetoed.
-
getRecurse
getRecurse
returns the recursion flag of the filter.- Returns:
- a
boolean
.
-
setRecurse
setRecurse
sets the recursion flag on the filter.- Parameters:
recurse
- aboolean
.- Throws:
ChangeVetoException
- if the change is vetoed.
-
paint
Description copied from interface:PairwiseSequenceRenderer
paint
s some or all of the information about the sequence pair.- Specified by:
paint
in interfacePairwiseSequenceRenderer
- Parameters:
g2
- aGraphics2D
.context
- aPairwiseRenderContext
encapsulating the information to be displayed.
-
processMouseEvent
public SequenceViewerEvent processMouseEvent(PairwiseRenderContext context, MouseEvent me, List path) Description copied from interface:PairwiseSequenceRenderer
processMouseEvent
produces aSequenceViewerEvent
in response to a mouse gesture.- Specified by:
processMouseEvent
in interfacePairwiseSequenceRenderer
- Parameters:
context
- aPairwiseRenderContext
.me
- aMouseEvent
that caused the request.path
- aList
ofPairwiseSequenceRenderer
instances passed through so far.- Returns:
- a
SequenceViewerEvent
encapsulating the mouse gesture.
-
getSubContext
getSubContext
creates a new context which hasFeatureHolder
s filtered using the current filter.- Parameters:
context
- aPairwiseRenderContext
.- Returns:
- a
PairwiseRenderContext
.
-