package edu.vanderbilt.vm.guide.container;
import java.util.List;
import edu.vanderbilt.vm.guide.annotations.NeedsTesting;
@NeedsTesting(lastModifiedDate = "12/22/12")
public class Tour {
/**
* The agenda that contains the places on the tour
*/
private Agenda mAgenda;
private String mTimeRequired;
private String mDistance;
private String mDescription;
private String mName;
private final int mUniqueId;
private static final int DEFAULT_ID = -1;
/**
* A string containing a URI that points to the location of the icon for
* this tour
*/
private String mIconLoc;
/* package */Tour() {
mUniqueId = DEFAULT_ID;
}
public Tour(Agenda agenda) {
this();
mAgenda = agenda;
}
private Tour(Tour.Builder builder) {
this.mAgenda = builder.mAgenda;
this.mTimeRequired = builder.mTimeRequired;
this.mDescription = builder.mDescription;
this.mDistance = builder.mDistance;
this.mName = builder.mName;
this.mIconLoc = builder.mIconLoc;
this.mUniqueId = builder.mUniqueId;
}
public Tour(List<Place> placesOnTour) {
this();
mAgenda = new Agenda(placesOnTour);
}
public void setName(String name) {
mName = name;
}
public void setTimeReq(String timeReq) {
mTimeRequired = timeReq;
}
public void setDistance(String dist) {
mDistance = dist;
}
public void setDescription(String desc) {
mDescription = desc;
}
public String getName() {
return mName;
}
public String getTimeReq() {
return mTimeRequired;
}
public String getDistance() {
return mDistance;
}
public String getDescription() {
return mDescription;
}
public Agenda getAgenda() {
return mAgenda;
}
public String getIconLoc() {
return mIconLoc;
}
public int getUniqueId() {
return mUniqueId;
}
public static class Builder {
private Agenda mAgenda;
private String mTimeRequired;
private String mDistance;
private String mDescription;
private String mName;
private String mIconLoc;
private int mUniqueId = DEFAULT_ID;
public Builder() {
}
public Builder setAgenda(Agenda agenda) {
mAgenda = agenda;
return this;
}
public Builder setTimeReq(String timeReq) {
mTimeRequired = timeReq;
return this;
}
public Builder setDistance(String distance) {
mDistance = distance;
return this;
}
public Builder setDescription(String desc) {
mDescription = desc;
return this;
}
public Builder setName(String name) {
mName = name;
return this;
}
public Builder setIconLoc(String iconLoc) {
mIconLoc = iconLoc;
return this;
}
public Builder setUniqueId(int uniqueId) {
mUniqueId = uniqueId;
return this;
}
public Tour build() {
return new Tour(this);
}
}
}