package eu.dnetlib.rmi.blackboard;

import eu.dnetlib.common.ifaces.ProgressProvider;
import eu.dnetlib.enabling.annotations.Blackboard;
import eu.dnetlib.rmi.objects.resultSet.ResultSet;
import eu.dnetlib.rmi.soap.IndexService;

@Blackboard(action = "FEED", serviceClass = IndexService.class)
public class UpdateIndexMessage implements ProgressProvider {

	private String indexId;
	private String backendId;
	private String feedingType;
	private ResultSet<String> resultset;

	private int progressTotal = 0;
	private int progressPosition = 0;
	private boolean progressInaccurate = false;

	public UpdateIndexMessage() {}

	public UpdateIndexMessage(final String indexId, final String backendId, final String feedingType, final ResultSet<String> resultset) {
		this.indexId = indexId;
		this.backendId = backendId;
		this.feedingType = feedingType;
		this.resultset = resultset;
	}

	public String getIndexId() {
		return indexId;
	}

	public void setIndexId(final String indexId) {
		this.indexId = indexId;
	}

	public String getBackendId() {
		return backendId;
	}

	public void setBackendId(final String backendId) {
		this.backendId = backendId;
	}

	public String getFeedingType() {
		return feedingType;
	}

	public void setFeedingType(final String feedingType) {
		this.feedingType = feedingType;
	}

	public ResultSet<String> getResultset() {
		return resultset;
	}

	public void setResultset(final ResultSet<String> resultset) {
		this.resultset = resultset;
	}

	@Override
	public int getProgressTotal() {
		return progressTotal;
	}

	public void setProgressTotal(final int progressTotal) {
		this.progressTotal = progressTotal;
	}

	@Override
	public int getProgressPosition() {
		return progressPosition;
	}

	public void setProgressPosition(final int progressPosition) {
		this.progressPosition = progressPosition;
	}

	@Override
	public boolean isProgressInaccurate() {
		return progressInaccurate;
	}

	public void setProgressInaccurate(final boolean progressInaccurate) {
		this.progressInaccurate = progressInaccurate;
	}

}
