de.aipark.api.requestsResponse.getOptimalTrip.GetOptimalTripRequest Maven / Gradle / Ivy
package de.aipark.api.requestsResponse.getOptimalTrip;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.vividsolutions.jts.geom.Point;
import de.aipark.api.parkingarea.ParkingAreaDataFilter;
import de.aipark.api.optimalTrip.Preference;
import de.aipark.api.requestsResponse.FiltersDeserializer;
import de.aipark.api.requestsResponse.Request;
import io.swagger.annotations.ApiModelProperty;
import java.sql.Timestamp;
import java.util.ArrayList;
import java.util.List;
/**
* Created by torgen on 09.12.17.
*/
public class GetOptimalTripRequest extends Request{
@ApiModelProperty(value = "departure position", required = true)
private Point departure;
@ApiModelProperty(value = "destination position of optimal trip", required = true)
private Point destination;
@ApiModelProperty(value = "departure time", dataType = "java.lang.Long", required = true, example = "1476561575000")
private Timestamp departureTimestamp;
@ApiModelProperty(value = "list of filters", required = true)
@JsonDeserialize(using = FiltersDeserializer.class)
private List filters = new ArrayList();
@ApiModelProperty(value = "list of preferences", required = true)
private List preferences = new ArrayList();
@ApiModelProperty(value = "maximum duration in milli seconds for the whole trip", dataType = "java.lang.Long", required = true, example = "3600000")
private Long duration;
@ApiModelProperty(value = "maximum distance (in meter) for the whole trip", dataType = "java.lang.Integer", required = true, example = "2000")
private Integer maxDistance;
public GetOptimalTripRequest() {
}
public GetOptimalTripRequest(Point departure, Point destination, Timestamp departureTimestamp, List filters, List preferences, Long duration, Integer maxDistance) {
this.departure = departure;
this.destination = destination;
this.departureTimestamp = departureTimestamp;
this.filters = filters;
this.preferences = preferences;
this.duration = duration;
this.maxDistance = maxDistance;
}
public Point getDeparture() {
return departure;
}
public void setDeparture(Point departure) {
this.departure = departure;
}
public Point getDestination() {
return destination;
}
public void setDestination(Point destination) {
this.destination = destination;
}
public Timestamp getDepartureTimestamp() {
return departureTimestamp;
}
public void setDepartureTimestamp(Timestamp departureTimestamp) {
this.departureTimestamp = departureTimestamp;
}
public List getFilters() {
return filters;
}
public void setFilters(List filters) {
this.filters = filters;
}
public List getPreferences() {
return preferences;
}
public void setPreferences(List preferences) {
this.preferences = preferences;
}
public Long getDuration() {
return duration;
}
public void setDuration(Long duration) {
this.duration = duration;
}
public Integer getMaxDistance() {
return maxDistance;
}
public void setMaxDistance(Integer maxDistance) {
this.maxDistance = maxDistance;
}
}