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 }