org.biojava.bio.symbol
Class AbstractRangeLocation

java.lang.Object
  extended by org.biojava.bio.symbol.AbstractLocation
      extended by org.biojava.bio.symbol.AbstractRangeLocation
All Implemented Interfaces:
Serializable, Location
Direct Known Subclasses:
FuzzyLocation, PointLocation, RangeLocation

public abstract class AbstractRangeLocation
extends AbstractLocation

Base class for simple contiguous Location implementations.

Author:
Matthew Pocock, Keith James
See Also:
Serialized Form
For developers:
Just implement getMin and getMax, and translate..

Field Summary
 
Fields inherited from interface org.biojava.bio.symbol.Location
empty, full, naturalOrder
 
Constructor Summary
AbstractRangeLocation()
           
 
Method Summary
 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 isContiguous()
          Determine if a Location is contiguous.
 SymbolList symbols(SymbolList seq)
          Return the symbols in a sequence that fall within this range.
 
Methods inherited from class org.biojava.bio.symbol.AbstractLocation
contains, equals, getDecorator, hashCode, intersection, newInstance, overlaps, union
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.biojava.bio.symbol.Location
getMax, getMin, translate
 

Constructor Detail

AbstractRangeLocation

public AbstractRangeLocation()
Method Detail

blockIterator

public Iterator blockIterator()
Description copied from interface: Location
Return an Iterator over the set of maximal contiguous sub-locations.

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.

Returns:
an Iterator over Location objects that are the maximally contiguous set of locations contained within this location

isContiguous

public boolean isContiguous()
Description copied from interface: Location
Determine if a Location is contiguous.

Returns:
true if and only if this Location contains every point from min to max inclusive.

symbols

public SymbolList symbols(SymbolList seq)
Description copied from interface: Location
Return the symbols in a sequence that fall within this range.

Parameters:
seq - the SymbolList to process
Returns:
the SymbolList containing the symbols in seq in this range

contains

public boolean contains(int p)
Description copied from interface: Location
Checks if this location contains a point.

Parameters:
p - the point to check
Returns:
true if this contains p, otherwise false