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