package eu.dnetlib.shared;

import com.google.gwt.user.client.rpc.IsSerializable;

import java.util.Date;
import java.util.List;

/**
 * Created by stefania on 6/23/14.
 */
public class HarvestScheduleInfo implements IsSerializable {

    private String scheduleId;
    private List<String> types;
    private Date initialModificationDate;
    private String dataProviderId;
    private String cronExpression;
    private ScheduleStatus scheduleStatus;

    public HarvestScheduleInfo() {}

    public HarvestScheduleInfo(String scheduleId, List<String> types, Date initialModificationDate, String dataProviderId, String cronExpression, ScheduleStatus scheduleStatus) {
        this.scheduleId = scheduleId;
        this.types = types;
        this.initialModificationDate = initialModificationDate;
        this.dataProviderId = dataProviderId;
        this.cronExpression = cronExpression;
        this.scheduleStatus = scheduleStatus;
    }

    public String getScheduleId() {
        return scheduleId;
    }

    public void setScheduleId(String scheduleId) {
        this.scheduleId = scheduleId;
    }

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

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

    public Date getInitialModificationDate() {
        return initialModificationDate;
    }

    public void setInitialModificationDate(Date initialModificationDate) {
        this.initialModificationDate = initialModificationDate;
    }

    public String getDataProviderId() {
        return dataProviderId;
    }

    public void setDataProviderId(String dataProviderId) {
        this.dataProviderId = dataProviderId;
    }

    public String getCronExpression() {
        return cronExpression;
    }

    public void setCronExpression(String cronExpression) {
        this.cronExpression = cronExpression;
    }

    public ScheduleStatus getScheduleStatus() {
        return scheduleStatus;
    }

    public void setScheduleStatus(ScheduleStatus scheduleStatus) {
        this.scheduleStatus = scheduleStatus;
    }

    public static enum ScheduleStatus {

        RUNNING, PAUSED;
    }
}
