// License: GPL. For details, see LICENSE file.
package org.openstreetmap.josm.plugins.czechaddress;
import java.util.ArrayList;
import java.util.Collection;
/**
* ArrayList, which refuses to add {@code null}.
*
* @author Radomír Černoch, radomir.cernoch@gmail.com
*/
public class NotNullList<E> extends ArrayList<E> {
public NotNullList() {
super();
}
public NotNullList(int initialCapacity) {
super(initialCapacity);
}
/**
* If {@code e} is {@code null}, nothing is done. Otherwise like
* {@code ArrayList}.
*/
@Override
public boolean add(E e) {
if (e != null)
return super.add(e);
else
return false;
}
/**
* Checks each item and if it isn't {@code null}, it is added.
*/
@Override
public boolean addAll(Collection<? extends E> c) {
if (c == null)
return false;
if (c instanceof NotNullList)
return super.addAll(c);
for (E e : c) add(e);
return true;
}
}