1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package com.google.common.collect;
18
19 import com.google.common.annotations.GwtCompatible;
20
21
22
23
24
25
26
27 @GwtCompatible(emulated = true)
28 @SuppressWarnings("serial")
29 class RegularImmutableAsList<E> extends ImmutableAsList<E> {
30 private final ImmutableCollection<E> delegate;
31 private final ImmutableList<? extends E> delegateList;
32
33 RegularImmutableAsList(ImmutableCollection<E> delegate, ImmutableList<? extends E> delegateList) {
34 this.delegate = delegate;
35 this.delegateList = delegateList;
36 }
37
38 RegularImmutableAsList(ImmutableCollection<E> delegate, Object[] array) {
39 this(delegate, ImmutableList.<E>asImmutableList(array));
40 }
41
42 @Override
43 ImmutableCollection<E> delegateCollection() {
44 return delegate;
45 }
46
47 ImmutableList<? extends E> delegateList() {
48 return delegateList;
49 }
50
51 @SuppressWarnings("unchecked")
52 @Override
53 public UnmodifiableListIterator<E> listIterator(int index) {
54 return (UnmodifiableListIterator<E>) delegateList.listIterator(index);
55 }
56
57 @Override
58 public E get(int index) {
59 return delegateList.get(index);
60 }
61 }
62