package de.avatic.lcc.dto.configuration.nodes.update;

import com.fasterxml.jackson.annotation.JsonProperty;
import de.avatic.lcc.dto.generic.CountryDTO;
import de.avatic.lcc.dto.generic.LocationDTO;
import de.avatic.lcc.dto.generic.NodeDTO;
import de.avatic.lcc.dto.generic.NodeType;

import java.util.List;
import java.util.Map;

public class NodeUpdateDTO {

    private Integer id;
    private String name;
    private CountryDTO country;
    private String address;
    private List<NodeType> types;
    private LocationDTO location;
    @JsonProperty("is_deprecated")
    private Boolean isDeprecated;
    private Map<Integer, NodeDTO> predecessors;
    @JsonProperty("outbound_countries")
    private List<CountryDTO> outboundCountries;

    public Integer getId() {
        return id;
    }

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

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public CountryDTO getCountry() {
        return country;
    }

    public void setCountry(CountryDTO country) {
        this.country = country;
    }

    public String getAddress() {
        return address;
    }

    public void setAddress(String address) {
        this.address = address;
    }

    public List<NodeType> getTypes() {
        return types;
    }

    public void setTypes(List<NodeType> types) {
        this.types = types;
    }

    public LocationDTO getLocation() {
        return location;
    }

    public void setLocation(LocationDTO location) {
        this.location = location;
    }

    public Boolean getDeprecated() {
        return isDeprecated;
    }

    public void setDeprecated(Boolean deprecated) {
        isDeprecated = deprecated;
    }

    public Map<Integer, NodeDTO> getPredecessors() {
        return predecessors;
    }

    public void setPredecessors(Map<Integer, NodeDTO> predecessors) {
        this.predecessors = predecessors;
    }

    public List<CountryDTO> getOutboundCountries() {
        return outboundCountries;
    }

    public void setOutboundCountries(List<CountryDTO> outboundCountries) {
        this.outboundCountries = outboundCountries;
    }
}
