001 // License: GPL. For details, see LICENSE file. 002 package org.openstreetmap.josm.data.osm; 003 004 /** 005 * interface to represent identifaction and type of the datatypes primitives. 006 * 007 * @since 2399 008 */ 009 public interface PrimitiveId { 010 011 /** 012 * Gets a unique id representing this object (the OSM server id for OSM objects) 013 * 014 * @return the id number 015 */ 016 long getUniqueId(); 017 018 /** 019 * Gets the type of object represented by this object. 020 * 021 * @see Node 022 * @see Way 023 * @see Relation 024 * @return the object type 025 */ 026 OsmPrimitiveType getType(); 027 028 /** 029 * Replies true if this id represents a new primitive. 030 * 031 * @return true if this id represents a new primitive. 032 */ 033 boolean isNew(); 034 035 }