package org.geotiff.epsg; /** * Represents the base class of the EPSG horizontal coordinate systems. It is * also contains the factory method for constructing these things. * * @author: Niles D. Ritter */ public abstract class HorizontalCS { // registered EPGS codes public static int WGS84 = 4326; private int code; protected HorizontalCS(int code) { setCode(code); } protected void setCode(int aCode) { code = aCode; } public int getCode() { return code; } /** * This method must be implemented by the extendend class to return the * undelying geographic coordinate system. */ public abstract HorizontalCS getGeographicCS(); /** * Factory method for coordinate systems. */ public static HorizontalCS create(int code) throws InvalidCodeException { if (code < 0) throw new InvalidCodeException("whatever"); if (code < 5000) return new GeographicCS(code); else return new ProjectedCS(code); } }