]> gerrit.simantics Code Review - simantics/platform.git/blob - bundles/org.simantics.utils.datastructures/src/org/simantics/utils/datastructures/ListIteratorAdapter.java
Migrated source code from Simantics SVN
[simantics/platform.git] / bundles / org.simantics.utils.datastructures / src / org / simantics / utils / datastructures / ListIteratorAdapter.java
1 /*******************************************************************************\r
2  * Copyright (c) 2007, 2010 Association for Decentralized Information Management\r
3  * in Industry THTH ry.\r
4  * All rights reserved. This program and the accompanying materials\r
5  * are made available under the terms of the Eclipse Public License v1.0\r
6  * which accompanies this distribution, and is available at\r
7  * http://www.eclipse.org/legal/epl-v10.html\r
8  *\r
9  * Contributors:\r
10  *     VTT Technical Research Centre of Finland - initial API and implementation\r
11  *******************************************************************************/\r
12 package org.simantics.utils.datastructures;\r
13 \r
14 import java.util.ListIterator;\r
15 \r
16 public class ListIteratorAdapter<Domain, Range, I extends ListIterator<Domain>> \r
17     extends IteratorAdapter<Domain,Range,I> \r
18     implements ListIterator<Range> {\r
19 \r
20     public ListIteratorAdapter(Converter<Domain,Range> converter, I iterator) {\r
21         super(converter, iterator);\r
22     }\r
23     \r
24     @Override\r
25     public void add(Range e) {\r
26         iterator.add(converter.convertFrom(e));        \r
27     }\r
28 \r
29     @Override\r
30     public boolean hasPrevious() {\r
31         return iterator.hasPrevious();\r
32     }\r
33 \r
34     @Override\r
35     public int nextIndex() {\r
36         return iterator.nextIndex(); \r
37     }\r
38 \r
39     @Override\r
40     public Range previous() {\r
41         return converter.convertTo(iterator.previous());\r
42     }\r
43 \r
44     @Override\r
45     public int previousIndex() {\r
46         return iterator.previousIndex();\r
47     }\r
48 \r
49     @Override\r
50     public void set(Range e) {\r
51         iterator.set(converter.convertFrom(e));\r
52     }\r
53 \r
54 }\r