001// License: GPL. For details, see LICENSE file.
002package org.openstreetmap.josm.data.osm;
003
004import org.openstreetmap.josm.data.coor.EastNorth;
005import org.openstreetmap.josm.data.coor.LatLon;
006
007/**
008 * INode captures the common functions of {@link Node} and {@link NodeData}.
009 * @since 4098
010 */
011public interface INode extends IPrimitive {
012
013    /**
014     * Returns lat/lon coordinates of this node.
015     * @return lat/lon coordinates of this node
016     */
017    LatLon getCoor();
018
019    /**
020     * Sets lat/lon coordinates of this node.
021     * @param coor lat/lon coordinates of this node
022     */
023    void setCoor(LatLon coor);
024
025    /**
026     * Returns east/north coordinates of this node.
027     * @return east/north coordinates of this node
028     */
029    EastNorth getEastNorth();
030
031    /**
032     * Sets east/north coordinates of this node.
033     * @param eastNorth east/north coordinates of this node
034     */
035    void setEastNorth(EastNorth eastNorth);
036}