+/*
+ * Jalview - A Sequence Alignment Editor and Viewer ($$Version-Rel$$)
+ * Copyright (C) $$Year-Rel$$ The Jalview Authors
+ *
+ * This file is part of Jalview.
+ *
+ * Jalview is free software: you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation, either version 3
+ * of the License, or (at your option) any later version.
+ *
+ * Jalview is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty
+ * of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+ * PURPOSE. See the GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with Jalview. If not, see <http://www.gnu.org/licenses/>.
+ * The Jalview Authors are detailed in the 'AUTHORS' file.
+ */
package jalview.datamodel.features;
import jalview.datamodel.ContiguousI;
public NCList(T entry)
{
this();
- subranges.add(new NCNode<T>(entry));
+ subranges.add(new NCNode<>(entry));
size = 1;
}
*/
protected List<Range> buildSubranges(List<T> ranges)
{
- List<Range> sublists = new ArrayList<Range>();
+ List<Range> sublists = new ArrayList<>();
if (ranges.isEmpty())
{
/*
* all subranges precede this one - add it on the end
*/
- subranges.add(new NCNode<T>(entry));
+ subranges.add(new NCNode<>(entry));
return true;
}
/*
* new entry lies between subranges j-1 j
*/
- subranges.add(j, new NCNode<T>(entry));
+ subranges.add(j, new NCNode<>(entry));
return true;
}
* entry spans two subranges but doesn't enclose any
* so just add it
*/
- subranges.add(j, new NCNode<T>(entry));
+ subranges.add(j, new NCNode<>(entry));
return true;
}
}
}
else
{
- subranges.add(new NCNode<T>(entry));
+ subranges.add(new NCNode<>(entry));
}
return true;
protected synchronized void addEnclosingRange(T entry, final int i,
final int j)
{
- NCList<T> newNCList = new NCList<T>();
+ NCList<T> newNCList = new NCList<>();
newNCList.addNodes(subranges.subList(i, j + 1));
- NCNode<T> newNode = new NCNode<T>(entry, newNCList);
+ NCNode<T> newNode = new NCNode<>(entry, newNCList);
for (int k = j; k >= i; k--)
{
subranges.remove(k);
*/
public List<T> findOverlaps(long from, long to)
{
- List<T> result = new ArrayList<T>();
+ List<T> result = new ArrayList<>();
findOverlaps(from, to, result);
*/
public List<T> getEntries()
{
- List<T> result = new ArrayList<T>();
+ List<T> result = new ArrayList<>();
getEntries(result);
return result;
}