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