001package org.openstreetmap.gui.jmapviewer; 002 003//License: GPL. Copyright 2009 by Stefan Zeller 004 005import java.awt.geom.Point2D; 006import java.io.IOException; 007import java.io.ObjectInputStream; 008import java.io.ObjectOutputStream; 009import java.io.Serializable; 010 011import org.openstreetmap.gui.jmapviewer.interfaces.ICoordinate; 012 013/** 014 * This class encapsulates a Point2D.Double and provide access 015 * via <tt>lat</tt> and <tt>lon</tt>. 016 * 017 * @author Jan Peter Stotz 018 * 019 */ 020public class Coordinate implements Serializable, ICoordinate { 021 private transient Point2D.Double data; 022 023 public Coordinate(double lat, double lon) { 024 data = new Point2D.Double(lon, lat); 025 } 026 027 public double getLat() { 028 return data.y; 029 } 030 031 public void setLat(double lat) { 032 data.y = lat; 033 } 034 035 public double getLon() { 036 return data.x; 037 } 038 039 public void setLon(double lon) { 040 data.x = lon; 041 } 042 043 private void writeObject(ObjectOutputStream out) throws IOException { 044 out.writeObject(data.x); 045 out.writeObject(data.y); 046 } 047 048 private void readObject(ObjectInputStream in) throws IOException, ClassNotFoundException { 049 data = new Point2D.Double(); 050 data.x = (Double) in.readObject(); 051 data.y = (Double) in.readObject(); 052 } 053 054 public String toString() { 055 return "Coordinate[" + data.y + ", " + data.x + "]"; 056 } 057}