content: package tim.prune.function.search;
  
  /**
   * Class to hold a search result from wikipedia or other online service
   */
  public class SearchResult implements Comparable<SearchResult>
  {
  	/** Track name or title */
  	private String _trackName = null;
  	/** Point type (for POIs) */
  	private String _pointType = null;
  	/** Description */
  	private String _description = null;
  	/** Web page for more details */
  	private String _webUrl = null;
  	/** Track length in metres */
  	private double _trackLength = 0.0;
  	/** Download link */
  	private String _downloadLink = null;
  	/** Coordinates of point */
  	private String _latitude = null, _longitude = null;
  
  
  	/**
  	 * @param inName name of track
  	 */
  	public void setTrackName(String inName)
  	{
  		_trackName = inName;
  	}
  
  	/**
  	 * @return track name
  	 */
  	public String getTrackName()
  	{
  		return _trackName;
  	}
  
  	/**
  	 * @param inType type of point (for POIs)
  	 */
  	public void setPointType(String inType)
  	{
  		_pointType = inType;
  	}
  
  	/**
  	 * @return type of point (for POIs)
  	 */
  	public String getPointType()
  	{
  		return _pointType;
  	}
  
  	/**
  	 * @param inDesc description
  	 */
  	public void setDescription(String inDesc)
  	{
  		_description = inDesc;
  	}
  
  	/**
  	 * @return track description
  	 */
  	public String getDescription()
  	{
  		return _description;
  	}
  
  	/**
  	 * @param inUrl web page url
  	 */
  	public void setWebUrl(String inUrl)
  	{
  		_webUrl = inUrl;
  	}
  
  	/**
  	 * @return web url
  	 */
  	public String getWebUrl()
  	{
  		return _webUrl;
  	}
  
  	/**
  	 * @param inLength length of track
  	 */
  	public void setLength(double inLength)
  	{
  		_trackLength = inLength;
  	}
  
  	/**
  	 * @return track length
  	 */
  	public double getLength()
  	{
  		return _trackLength;
  	}
  
  	/**
  	 * @param inLink link to download track
  	 */
  	public void setDownloadLink(String inLink)
  	{
  		_downloadLink = inLink;
  	}
  
  	/**
  	 * @return download link
  	 */
  	public String getDownloadLink()
  	{
  		return _downloadLink;
  	}
  
  	/**
  	 * @param inLatitude latitude
  	 */
  	public void setLatitude(String inLatitude) {
  		_latitude = inLatitude;
  	}
  
  	/**
  	 * @return latitude
  	 */
  	public String getLatitude() {
  		return _latitude;
  	}
  
  	/**
  	 * @param inLongitude longitude
  	 */
  	public void setLongitude(String inLongitude) {
  		_longitude = inLongitude;
  	}
  
  	/**
  	 * @return longitude
  	 */
  	public String getLongitude() {
  		return _longitude;
  	}
  
  	/**
  	 * Compare two search results for sorting (nearest first, then alphabetic)
  	 */
  	public int compareTo(SearchResult inOther)
  	{
  		int distDiff = Double.compare(getLength(), inOther.getLength());
  		if (distDiff != 0) {
  			return distDiff;
  		}
  		return getTrackName().compareTo(inOther.getTrackName());
  	}
  }
  