package es.axios.lib.geometry.util; import java.io.Serializable; import java.util.Collection; import java.util.Deque; import java.util.LinkedList; import java.util.List; import com.vividsolutions.jts.geom.Geometry; import com.vividsolutions.jts.geom.LineString; /** * * List of Geometries * <p> * It is a workaround to allow compare geometries by its coordinates * </p> * @author Mauricio Pazos (www.axios.es) * @author Aritz Davila (www.axios.es) * @since 1.3.0 * @param <T> */ public final class GeometryList< T extends Geometry> extends LinkedList<T> implements List<T>, Deque<T>, Cloneable, Serializable{ private static final long serialVersionUID = 3477623090320403970L; public GeometryList() { super(); } public GeometryList( Collection<T> values ) { super(values); } /** * Compares the geometries using {@link Geometry#equalsExact(Geometry)} */ @Override public boolean contains(Object o) { T requested = (T) o; for( T g: this ) { T p = (T)g; if(p.equalsExact(requested)){ return true; } } return false; } }