package dst.ass3.event.dto;

import java.io.Serializable;

import dst.ass3.event.model.domain.IUploadEventInfo;
import dst.ass3.event.model.domain.RequestType;
import dst.ass3.event.model.domain.UploadState;

public class UploadEventInfoDTO implements Serializable, IUploadEventInfo {
    private static final long serialVersionUID = 4134104076758220138L;

    private Long requestId;
    private Long timestamp;
    private UploadState state;
    private String server;
    private RequestType requestType;

    public UploadEventInfoDTO(Long requestId, Long timestamp, UploadState state, String server, RequestType requestType) {
        this.requestId = requestId;
        this.timestamp = timestamp;
        this.state = state;
        this.server = server;
        this.requestType = requestType;
    }

    @Override
    public Long getRequestId() {
        return requestId;
    }

    @Override
    public Long getTimestamp() {
        return timestamp;
    }

    @Override
    public UploadState getState() {
        return state;
    }

    @Override
    public String getServer() {
        return server;
    }

    @Override
    public RequestType getRequestType() {
        return requestType;
    }

    @Override
    public String toString() {
        return "UploadEventInfoDTO{" +
                "requestId=" + requestId +
                ", timestamp=" + timestamp +
                ", state=" + state +
                ", server='" + server + '\'' +
                ", requestType=" + requestType +
                '}';
    }
}
