001// License: GPL. For details, see LICENSE file. 002package org.openstreetmap.josm.data.gpx; 003 004import java.util.Collection; 005import java.util.Map; 006 007import org.openstreetmap.josm.data.Bounds; 008 009/** 010 * Read-only gpx track. Implementations doesn't have to be immutable, but should always be thread safe. 011 * 012 */ 013public interface GpxTrack extends IWithAttributes { 014 015 Collection<GpxTrackSegment> getSegments(); 016 Map<String, Object> getAttributes(); 017 Bounds getBounds(); 018 double length(); 019 020 /** 021 * 022 * @return Number of times this track has been changed. Always 0 for read-only tracks 023 */ 024 int getUpdateCount(); 025}