Coverage Summary for Class: RegularImmutableAsList (com.google.common.collect)
| Class | Class, % | Method, % | Line, % |
|---|---|---|---|
| RegularImmutableAsList | 100% (1/1) | 18.2% (2/11) | 31.2% (5/16) |
1 /* 2 * Copyright (C) 2012 The Guava Authors 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 17 package com.google.common.collect; 18 19 import com.google.common.annotations.GwtCompatible; 20 import com.google.common.annotations.GwtIncompatible; 21 import java.util.function.Consumer; 22 import javax.annotation.CheckForNull; 23 import org.checkerframework.checker.nullness.qual.Nullable; 24 25 /** 26 * An {@link ImmutableAsList} implementation specialized for when the delegate collection is already 27 * backed by an {@code ImmutableList} or array. 28 * 29 * @author Louis Wasserman 30 */ 31 @GwtCompatible(emulated = true) 32 @SuppressWarnings("serial") // uses writeReplace, not default serialization 33 @ElementTypesAreNonnullByDefault 34 class RegularImmutableAsList<E> extends ImmutableAsList<E> { 35 private final ImmutableCollection<E> delegate; 36 private final ImmutableList<? extends E> delegateList; 37 38 RegularImmutableAsList(ImmutableCollection<E> delegate, ImmutableList<? extends E> delegateList) { 39 this.delegate = delegate; 40 this.delegateList = delegateList; 41 } 42 43 RegularImmutableAsList(ImmutableCollection<E> delegate, Object[] array) { 44 this(delegate, ImmutableList.<E>asImmutableList(array)); 45 } 46 47 @Override 48 ImmutableCollection<E> delegateCollection() { 49 return delegate; 50 } 51 52 ImmutableList<? extends E> delegateList() { 53 return delegateList; 54 } 55 56 @SuppressWarnings("unchecked") // safe covariant cast! 57 @Override 58 public UnmodifiableListIterator<E> listIterator(int index) { 59 return (UnmodifiableListIterator<E>) delegateList.listIterator(index); 60 } 61 62 @GwtIncompatible // not present in emulated superclass 63 @Override 64 public void forEach(Consumer<? super E> action) { 65 delegateList.forEach(action); 66 } 67 68 @GwtIncompatible // not present in emulated superclass 69 @Override 70 int copyIntoArray(@Nullable Object[] dst, int offset) { 71 return delegateList.copyIntoArray(dst, offset); 72 } 73 74 @Override 75 @CheckForNull 76 Object[] internalArray() { 77 return delegateList.internalArray(); 78 } 79 80 @Override 81 int internalArrayStart() { 82 return delegateList.internalArrayStart(); 83 } 84 85 @Override 86 int internalArrayEnd() { 87 return delegateList.internalArrayEnd(); 88 } 89 90 @Override 91 public E get(int index) { 92 return delegateList.get(index); 93 } 94 }