001/* 002 * $Id: OverlapList.java 4149 2012-09-01 09:01:54Z kredel $ 003 */ 004 005package edu.jas.poly; 006 007 008import java.io.Serializable; 009import java.util.List; 010import java.util.ArrayList; 011 012 013/** 014 * Container for lists of overlap words. 015 * List of Overlaps. 016 * @author Heinz Kredel 017 */ 018 019public class OverlapList implements Serializable { 020 021 public final List<Overlap> ols; 022 023 024 /** 025 * Constructor. 026 */ 027 public OverlapList() { 028 ols = new ArrayList<Overlap>(); 029 } 030 031 032 /** 033 * Add to list. 034 */ 035 public void add(Overlap ol) { 036 ols.add(ol); 037 } 038 039 040 /** 041 * Get the string representation. 042 * @see java.lang.Object#toString() 043 */ 044 @Override 045 public String toString() { 046 return ols.toString(); 047 } 048 049 050 /** 051 * Is word overlap list. 052 * @param u word 053 * @param v word 054 * @return true if l1 * u * r1 = l2 * v * r2 for all overlaps, else false. 055 */ 056 public boolean isOverlap(Word u, Word v) { 057 for (Overlap ol : ols ) { 058 if ( !ol.isOverlap(u,v) ) { 059 return false; 060 } 061 } 062 return true; 063 } 064 065}