package org.deuce.transaction.strongiso.field;
import java.util.concurrent.atomic.AtomicInteger;
import org.deuce.transform.Exclude;
/**
* Represents a base class for field write access.
*
* @author Guy Korland
*/
@Exclude
abstract public class WriteFieldAccess extends FinalReadFieldAccess {
public final AtomicInteger status;
public final boolean isNT;
public volatile int time = Integer.MAX_VALUE;
public final long orgField;
public final int threadId;
WriteFieldAccess(Object reference, long orgField, long field,
AtomicInteger status, boolean isNT, int threadId) {
super(reference, field);
this.threadId = threadId;
this.orgField = orgField;
this.isNT = isNT;
this.status = status;
}
abstract public void setLast(WriteFieldAccess last, boolean useOld);
abstract public boolean validateByValue(WriteFieldAccess other, boolean useOld);
abstract public void setLast();
}