Point.java
package org.cugos.wkg;
import java.util.Arrays;
import java.util.List;
/**
* A Point is made up of a single Coordinate
* @author Jared Erickson
*/
public class Point extends Geometry {
/**
* The Coordinate
*/
private final Coordinate coordinate;
/**
* Create a new Point
* @param coordinate The Coordinate
* @param dimension The Dimension
*/
public Point(Coordinate coordinate, Dimension dimension) {
this(coordinate, dimension, null);
}
/**
* Create a new Point
* @param coordinate The Coordinate
* @param dimension The Dimension
* @param srid The SRID
*/
public Point(Coordinate coordinate, Dimension dimension, String srid) {
super(dimension, srid);
this.coordinate = coordinate;
}
/**
* Get the Coordinate
* @return The Coordinate
*/
public Coordinate getCoordinate() {
return coordinate;
}
@Override
public boolean isEmpty() {
return this.coordinate == null || this.coordinate.isEmpty();
}
@Override
public int getNumberOfCoordinates() {
return isEmpty() ? 0 : 1;
}
@Override
public List<Coordinate> getCoordinates() {
return Arrays.asList(coordinate);
}
/**
* Create an empty Point.
* @return An empty Point
*/
public static Point createEmpty() {
return new Point(Coordinate.createEmpty(), Dimension.Two, null);
}
}