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 017 Map<String, Object> getAttributes(); 018 019 Bounds getBounds(); 020 021 double length(); 022 023 /** 024 * 025 * @return Number of times this track has been changed. Always 0 for read-only tracks 026 */ 027 int getUpdateCount(); 028}