]> gerrit.simantics Code Review - simantics/platform.git/blob - bundles/org.simantics.db.impl/src/org/simantics/db/impl/graph/RandomAccessSubList.java
Disabled BOOKKEEPING flag for normal use
[simantics/platform.git] / bundles / org.simantics.db.impl / src / org / simantics / db / impl / graph / RandomAccessSubList.java
1 package org.simantics.db.impl.graph;
2
3 import java.util.AbstractList;
4 import java.util.List;
5
6 public class RandomAccessSubList<T> extends AbstractList<T> {
7     private final List<T> baseList;
8     private final int fromIndex;
9     private final int length;
10     
11     public RandomAccessSubList(List<T> baseList, int fromIndex, int length) {
12         this.baseList = baseList;
13         this.fromIndex = fromIndex;
14         this.length = length;
15     }
16
17     @Override
18     public T get(int index) {
19         if(index < 0 || index > length)
20             throw new IndexOutOfBoundsException();
21         return baseList.get(index+fromIndex);
22     }
23
24     @Override
25     public int size() {
26         return length;
27     }
28 }