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.ObjectStoreService;

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

	private String id;
	private String mime;
	private ResultSet<String> resultset;
	private int total = 0;
	private int progressTotal = 0;
	private int progressPosition = 0;
	private boolean progressInaccurate = false;

	public FeedObjectStoreMessage() {}

	public FeedObjectStoreMessage(final String id, final String mime, final ResultSet<String> resultset) {
		this.id = id;
		this.mime = mime;
		this.resultset = resultset;
	}

	public String getId() {
		return id;
	}

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

	public String getMime() {
		return mime;
	}

	public void setMime(final String mime) {
		this.mime = mime;
	}

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

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

	public int getTotal() {
		return total;
	}

	public void setTotal(final int total) {
		this.total = total;
	}

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

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

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

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

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

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

}
