// License: GPL. For details, see LICENSE file.
package org.openstreetmap.josm.data.gpx;
import java.util.Collection;
import java.util.Map;
import org.openstreetmap.josm.data.Bounds;
/**
* Read-only gpx track. Implementations doesn't have to be immutable, but should always be thread safe.
* @since 444
*/
public interface GpxTrack extends IWithAttributes {
/**
* Returns the track segments.
* @return the track segments
*/
Collection<GpxTrackSegment> getSegments();
/**
* Returns the track attributes.
* @return the track attributes
*/
Map<String, Object> getAttributes();
/**
* Returns the track bounds.
* @return the track bounds
*/
Bounds getBounds();
/**
* Returns the track length.
* @return the track length
*/
double length();
/**
* Returns the number of times this track has been changed.
* @return Number of times this track has been changed. Always 0 for read-only tracks
*/
int getUpdateCount();
}