Class MergeLocation

  • All Implemented Interfaces:
    Serializable, Location

    public class MergeLocation
    extends RangeLocation
    Produced by LocationTools as a result of union operations. It's a RangeLocation and can be used as such but it also retains knowledge of which individual components made it up. None of the methods of RangeLocation are overridden only new methods have been added to get the subcomponents.

    For example a union operation between the following locations [1,20],[27,45],[30-70] will produce a CompoundLocation like this: {[1,20],[27,70]}, the last two locations have been merged into a MergeLocation which contains the two subcomponents.

    Copyright: Copyright (c) 2002

    Company: AgResearch

    Version:
    1.0
    Author:
    Mark Schreiber, Francois Pepin
    See Also:
    Serialized Form
    • Method Detail

      • getComponentList

        public List getComponentList​(boolean recurse)
        Gets the component locations that make up this one
        Parameters:
        recurse - if true the method lists the component locations of all nested MergedLocations.
        Returns:
        a List of Locations.
      • mergeLocations

        public static MergeLocation mergeLocations​(List componentLocations)
                                            throws BioException
        Static Factory method for getting an instance of a MergeLocation
        Parameters:
        componentLocations - the Locations to Merge
        Returns:
        the merged location
        Throws:
        BioException - if the list contains objects that are not Locations or if the locations don't represent a contiguous block. Use LocationTools.union() if you want to merge discontinuous blocks.