/* * Project Name: GeoTools GPX Support * Original Organization Name: The SurveyOs Project * Original Programmer Name: The Sunburned Surveyor * Current Maintainer Name: The SurveyOS Project * Current Maintainer Contact Information * E-Mail Address: The Sunburned Surveyor * Copyright Holder: The SurveyOS Project * Date Last Modified: May 19, 2008 * Current Version Number: 00.00.01 * IDE Name: Eclipse * IDE Version: 3.2.1 * Type: Java Class */ package org.geotools.gpx2.gpxentities; import java.util.*; /** * Provides the default implementation of the Track interface. * * @source $URL$ */ public class BasicTrack implements Track { private String name; private LinkedList<TrackSegment> segments; private boolean hasName; /** * Constructs a BasicTract from the list of TrackSegments provided as an * argument. */ public BasicTrack(List<TrackSegment> argTrackSegments) { this.segments = new LinkedList<TrackSegment>(); this.segments.addAll(argTrackSegments); } /** * Constructs a BasicTrack from the list of TrackSegments provided as the * first argument and with the name provided as the second argument. */ public BasicTrack(List<TrackSegment> argTrackSegments, String argName) { this.segments = new LinkedList<TrackSegment>(); this.segments.addAll(argTrackSegments); this.setName(argName); this.hasName = true; } /** * Constructs a BasicTrack with an empty list of TrackSegments. */ public BasicTrack() { this.segments = new LinkedList<TrackSegment>(); } @Override public String getName() { return name; } @Override public void setName(String argName) { this.name = argName; this.hasName = true; } /** * Indicates if this BasicTrack has a valid name value. */ public boolean hasName() { return this.hasName; } @Override public int getNumberOfSegments() { return this.segments.size(); } @Override public List<TrackSegment> getTrackSegments() { return this.segments; } @Override public void addTrackSegment(TrackSegment argTrackSegment) { this.segments.add(argTrackSegment); } @Override public void clearTrackSegments() { this.segments.clear(); } }