CircularString.java
package org.cugos.wkg;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
/**
* A CircularString is a Curve made up of three or more Coordinates.
* @author Jared Erickson
*/
public class CircularString extends Curve {
/**
* The List of Coordinates
*/
private final List<Coordinate> coordinates;
/**
* Create a new CircularString
* @param coordinates The List of Coordinates
* @param dimension The Dimension
* @param srid The SRID
*/
public CircularString(List<Coordinate> coordinates, Dimension dimension, String srid) {
super(dimension, srid);
this.coordinates = Collections.unmodifiableList(coordinates);
}
/**
* Create a new CircularString
* @param coordinates The List of Coordinates
* @param dimension The Dimension
*/
public CircularString(List<Coordinate> coordinates, Dimension dimension) {
this(coordinates, dimension, null);
}
/**
* Get the List of Coordinates
* @return The List of Coordinates
*/
@Override
public List<Coordinate> getCoordinates() {
return Collections.unmodifiableList(coordinates);
}
@Override
public boolean isEmpty() {
return coordinates.isEmpty();
}
@Override
public int getNumberOfCoordinates() {
return this.coordinates.size();
}
/**
* Create an empty CircularString
* @return An empty CircularString
*/
public static CircularString createEmpty() {
return new CircularString(new ArrayList<Coordinate>(), Dimension.Two, null);
}
}