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 }