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 }