package database;
import java.util.HashMap;
import java.util.Map;
import java.util.TreeMap;
import org.mapdb.BTreeKeySerializer;
import org.mapdb.DB;
import qora.assets.Order;
import qora.transaction.CancelOrderTransaction;
import com.google.common.primitives.UnsignedBytes;
import database.DBSet;
import database.serializer.OrderSerializer;
public class CancelOrderMap extends DBMap<byte[], Order>
{
private Map<Integer, Integer> observableData = new HashMap<Integer, Integer>();
public CancelOrderMap(DBSet databaseSet, DB database)
{
super(databaseSet, database);
}
public CancelOrderMap(CancelOrderMap parent)
{
super(parent);
}
protected void createIndexes(DB database){}
@Override
protected Map<byte[], Order> getMap(DB database)
{
//OPEN MAP
return database.createTreeMap("cancelOrderOrphanData")
.keySerializer(BTreeKeySerializer.BASIC)
.valueSerializer(new OrderSerializer())
.comparator(UnsignedBytes.lexicographicalComparator())
.makeOrGet();
}
@Override
protected Map<byte[], Order> getMemoryMap()
{
return new TreeMap<byte[], Order>(UnsignedBytes.lexicographicalComparator());
}
@Override
protected Order getDefaultValue()
{
return null;
}
@Override
protected Map<Integer, Integer> getObservableData()
{
return this.observableData;
}
public void delete(CancelOrderTransaction transaction) {
this.delete(transaction.getSignature());
}
public Order get(CancelOrderTransaction transaction)
{
return this.get(transaction.getSignature());
}
public void set(CancelOrderTransaction transaction, Order value)
{
this.set(transaction.getSignature(), value);
}
}