public abstract class AbstractLocationDecorator extends Object implements Location
Location
decorator (wrapper).
These wrap up a normal Location
object, and act as markers to indicate that
the location has some kind of special semantics.
empty, full, naturalOrder
Modifier | Constructor and Description |
---|---|
protected |
AbstractLocationDecorator(Location wrapped)
Construct a new decorator wrapping the specified Location.
|
Modifier and Type | Method and Description |
---|---|
Iterator |
blockIterator()
Return an Iterator over the set of maximal contiguous sub-locations.
|
boolean |
contains(int p)
Checks if this location contains a point.
|
boolean |
contains(Location l)
Checks if this location contains the other.
|
protected abstract Location |
decorate(Location loc) |
boolean |
equals(Object o)
Checks if this location is equivalent to the other.
|
Location |
getDecorator(Class decoratorClass)
Checks the decorator chain for an instance of
|
int |
getMax()
The maximum position contained.
|
int |
getMin()
The minimum position contained.
|
protected Location |
getWrapped() |
Location |
intersection(Location l)
Returns a Location that contains all points common to both ranges.
|
boolean |
isContiguous()
Determine if a Location is contiguous.
|
Location |
newInstance(Location loc)
Create a new instance of Location with all of the same decorators as this
instance but with the data stored in
loc . |
boolean |
overlaps(Location l)
Checks if these two locations overlap, using this location's
concept of overlapping.
|
SymbolList |
symbols(SymbolList seq)
Return the symbols in a sequence that fall within this range.
|
Location |
translate(int dist)
Create a location that is a translation of this location.
|
Location |
union(Location l)
Return a Location containing all points in either ranges.
|
protected AbstractLocationDecorator(Location wrapped)
protected final Location getWrapped()
public Location newInstance(Location loc)
Location
loc
.
The default behavior is to return loc
.
newInstance
in interface Location
loc
- the Location to use as templatepublic Location getDecorator(Class decoratorClass)
Location
The default behavior is to return null. If the current object is a
decorator and is an instance of
getDecorator
in interface Location
decoratorClass
- the Class to checkpublic int getMin()
Location
WARNING: The location will not contain every point between getMin()
and getMax()
if isContiguous()
is false. If isContiguous()
does return false you should use the Iterator
returned by blockIterator()
to iterate over the minimum set of contiguous blocks that make up this Location
public int getMax()
Location
WARNING: The location will not contain every point between getMin()
and getMax()
if isContiguous()
is false. If isContiguous()
does return false you should use the Iterator
returned by blockIterator()
to iterate over the minimum set of contiguous blocks that make up this Location
public boolean overlaps(Location l)
Location
Abstractly, two locations overlap if they both contain any point.
public boolean contains(Location l)
Location
Abstractly, a location contains another if every point in the other location is contained within this one.
public boolean contains(int p)
Location
public boolean equals(Object o)
Location
Abstractly, a location is equal to another if for every point in one it is also in the other. This is equivalent to a.contains(b) && b.contains(a). You should call LocationTools.areEqual after casting l to Location.
public Location intersection(Location l)
Location
intersection
in interface Location
l
- the Location to intersect withpublic Location union(Location l)
Location
public SymbolList symbols(SymbolList seq)
Location
public Location translate(int dist)
Location
public boolean isContiguous()
Location
isContiguous
in interface Location
true
if and only if this Location
contains every point from min
to
max
inclusive.public Iterator blockIterator()
Location
Given any location, it can be considered to contain zero or more maximal contiguous blocks of width 1 or greater. The empty location is composed from nothing. A contiguous location is composed from itself. A non-contiguous location is composed from contiguous blocks seperated by gaps.
This method should return an Iterator over these maximally contiguous blocks starting with the left-most block, and finishing at the right-most block.
blockIterator
in interface Location
Copyright © 2014 BioJava. All rights reserved.