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.ILatLon; 006import org.openstreetmap.josm.data.coor.LatLon; 007 008/** 009 * INode captures the common functions of {@link Node} and {@link NodeData}. 010 * @since 4098 011 */ 012public interface INode extends IPrimitive, ILatLon { 013 014 /** 015 * Returns lat/lon coordinates of this node. 016 * @return lat/lon coordinates of this node 017 */ 018 LatLon getCoor(); 019 020 /** 021 * Sets lat/lon coordinates of this node. 022 * @param coor lat/lon coordinates of this node 023 */ 024 void setCoor(LatLon coor); 025 026 /** 027 * Sets east/north coordinates of this node. 028 * @param eastNorth east/north coordinates of this node 029 */ 030 void setEastNorth(EastNorth eastNorth); 031 032 @Override 033 default String getDisplayName(NameFormatter formatter) { 034 return formatter.format(this); 035 } 036}