package com.rubiconproject.oss.kv.distributed;
import java.util.concurrent.Callable;
import com.rubiconproject.oss.kv.KeyValueStore;
import com.rubiconproject.oss.kv.transcoder.Transcoder;
public abstract class AbstractOperation<V> implements Operation<V>,
Callable<OperationResult<V>> {
private static final long serialVersionUID = -1366881371899551925L;
protected transient KeyValueStore store;
protected transient Transcoder transcoder;
protected transient OperationCallback<V> callback;
protected Node node;
protected int nodeRank;
protected String key;
public AbstractOperation(Transcoder transcoder, String key) {
this.transcoder = transcoder;
this.key = key;
}
public OperationCallback<V> getCallback() {
return callback;
}
public void setCallback(OperationCallback<V> callback) {
this.callback = callback;
}
public Transcoder getTranscoder() {
return transcoder;
}
public void setTranscoder(Transcoder transcoder) {
this.transcoder = transcoder;
}
public Node getNode() {
return node;
}
public void setNode(Node node) {
this.node = node;
}
public int getNodeRank() {
return nodeRank;
}
public void setNodeRank(int nodeRank) {
this.nodeRank = nodeRank;
}
public String getKey() {
return key;
}
public void setKey(String key) {
this.key = key;
}
public Callable<OperationResult<V>> getCallable(KeyValueStore store) {
this.store = store;
return this;
}
}