1 package jalview.datamodel;
4 * helper class to compute min/max/mean for a range on a contact list
9 public class ContactListImpl implements ContactListI
11 ContactListProviderI clist;
13 public static ContactListI newContactList(ContactListProviderI list)
15 return new ContactListImpl(list);
18 public ContactListImpl(ContactListProviderI list)
24 public double getContactAt(int column)
26 return clist.getContactAt(column);
30 public int getContactHeight()
32 return clist.getContactHeight();
36 public ContactRange getRangeFor(int from_column, int to_column)
38 if (clist instanceof ContactListI)
40 // clist may implement getRangeFor in a more efficient way, so use theirs
41 return ((ContactListI) clist).getRangeFor(from_column, to_column);
47 if (to_column > getContactHeight())
49 to_column = getContactHeight();
51 ContactRange cr = new ContactRange();
52 cr.setFrom_column(from_column);
53 cr.setTo_column(to_column);
55 for (int i = from_column; i <= to_column; i++)
57 double contact = getContactAt(i);
68 if (cr.getMax() < contact)
73 if (cr.getMin() < contact)
82 cr.setMean(tot / (1 + to_column - from_column));