package de.avatic.lcc.dto.calculation;

import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonProperty;
import de.avatic.lcc.dto.generic.NodeDTO;
import de.avatic.lcc.dto.generic.TransportType;

import java.util.List;

public class RouteDTO {

    private Integer id;

    private TransportType type;

    @JsonProperty("is_selected")
    private Boolean isSelected;

    @JsonProperty("is_cheapest")
    private Boolean isCheapest;

    @JsonProperty("is_fastest")
    private Boolean isFastest;

    @JsonProperty("transit_nodes")
    private List<NodeDTO> transitNodes;

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public TransportType getType() {
        return type;
    }

    public void setType(TransportType type) {
        this.type = type;
    }


    @JsonIgnore
    public Boolean getSelected() {
        return isSelected;
    }

    public void setSelected(Boolean selected) {
        isSelected = selected;
    }

    @JsonIgnore
    public Boolean getCheapest() {
        return isCheapest;
    }

    public void setCheapest(Boolean cheapest) {
        isCheapest = cheapest;
    }

    @JsonIgnore
    public Boolean getFastest() {
        return isFastest;
    }

    public void setFastest(Boolean fastest) {
        isFastest = fastest;
    }

    public List<NodeDTO> getTransitNodes() {
        return transitNodes;
    }

    public void setTransitNodes(List<NodeDTO> transitNodes) {
        this.transitNodes = transitNodes;
    }
}
