001// License: GPL. For details, see LICENSE file. 002package org.openstreetmap.josm.data.osm; 003 004/** 005* interface to represent identifaction and type of the datatypes primitives. 006* 007* @since 2399 008*/ 009public 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}