Implement List directly instead of extending ArrayList. (#680)

* Implement List directly instead of extending ArrayList.

* Remove transient dependencies.

* Support serialization.
pull/688/head
Johno Crawford 9 years ago committed by Brett Wooldridge
parent 54c1cbaeae
commit 3bf8356b8d

@ -55,7 +55,6 @@
<log4j.version>2.6.1</log4j.version> <log4j.version>2.6.1</log4j.version>
<commons.csv.version>1.4</commons.csv.version> <commons.csv.version>1.4</commons.csv.version>
<h2.version>1.4.192</h2.version> <h2.version>1.4.192</h2.version>
<hamcrest.version>1.3</hamcrest.version>
<junit.version>4.12</junit.version> <junit.version>4.12</junit.version>
</properties> </properties>
@ -101,15 +100,15 @@
</dependency> </dependency>
<dependency> <dependency>
<groupId>org.mockito</groupId> <groupId>org.mockito</groupId>
<artifactId>mockito-all</artifactId> <artifactId>mockito-core</artifactId>
<version>${mockito.version}</version> <version>${mockito.version}</version>
<scope>test</scope> <scope>test</scope>
</dependency> <exclusions>
<dependency> <exclusion>
<groupId>org.hamcrest</groupId> <groupId>org.hamcrest</groupId>
<artifactId>hamcrest-core</artifactId> <artifactId>hamcrest-core</artifactId>
<version>${hamcrest.version}</version> </exclusion>
<scope>test</scope> </exclusions>
</dependency> </dependency>
<dependency> <dependency>
<groupId>junit</groupId> <groupId>junit</groupId>
@ -117,12 +116,6 @@
<version>${junit.version}</version> <version>${junit.version}</version>
<scope>test</scope> <scope>test</scope>
</dependency> </dependency>
<dependency>
<groupId>org.hamcrest</groupId>
<artifactId>hamcrest-library</artifactId>
<version>${hamcrest.version}</version>
<scope>test</scope>
</dependency>
<dependency> <dependency>
<groupId>org.javassist</groupId> <groupId>org.javassist</groupId>
<artifactId>javassist</artifactId> <artifactId>javassist</artifactId>

@ -16,14 +16,15 @@
package com.zaxxer.hikari.util; package com.zaxxer.hikari.util;
import java.io.Serializable;
import java.lang.reflect.Array; import java.lang.reflect.Array;
import java.util.ArrayList;
import java.util.Collection; import java.util.Collection;
import java.util.Comparator; import java.util.Comparator;
import java.util.Iterator; import java.util.Iterator;
import java.util.List; import java.util.List;
import java.util.ListIterator; import java.util.ListIterator;
import java.util.NoSuchElementException; import java.util.NoSuchElementException;
import java.util.RandomAccess;
import java.util.Spliterator; import java.util.Spliterator;
import java.util.function.Consumer; import java.util.function.Consumer;
import java.util.function.Predicate; import java.util.function.Predicate;
@ -34,7 +35,7 @@ import java.util.function.UnaryOperator;
* *
* @author Brett Wooldridge * @author Brett Wooldridge
*/ */
public final class FastList<T> extends ArrayList<T> public final class FastList<T> implements List<T>, RandomAccess, Serializable
{ {
private static final long serialVersionUID = -4598088075242913858L; private static final long serialVersionUID = -4598088075242913858L;
@ -323,20 +324,6 @@ public final class FastList<T> extends ArrayList<T>
throw new UnsupportedOperationException(); throw new UnsupportedOperationException();
} }
/** {@inheritDoc} */
@Override
public void trimToSize()
{
throw new UnsupportedOperationException();
}
/** {@inheritDoc} */
@Override
public void ensureCapacity(int minCapacity)
{
throw new UnsupportedOperationException();
}
/** {@inheritDoc} */ /** {@inheritDoc} */
@Override @Override
public Object clone() public Object clone()
@ -344,13 +331,6 @@ public final class FastList<T> extends ArrayList<T>
throw new UnsupportedOperationException(); throw new UnsupportedOperationException();
} }
/** {@inheritDoc} */
@Override
protected void removeRange(int fromIndex, int toIndex)
{
throw new UnsupportedOperationException();
}
/** {@inheritDoc} */ /** {@inheritDoc} */
public void forEach(Consumer<? super T> action) public void forEach(Consumer<? super T> action)
{ {

Loading…
Cancel
Save