package org.hypergraphdb.transaction;
/**
*
* <p>
* Encapsulates configuration parameters for a single transaction.
* </p>
*
* @author Borislav Iordanov
*
*/
public class HGTransactionConfig
{
public static final HGTransactionConfig DEFAULT = new HGTransactionConfig();
public static final HGTransactionConfig NO_STORAGE = new HGTransactionConfig();
public static final HGTransactionConfig READONLY = new HGTransactionConfig();
public static final HGTransactionConfig WRITE_UPGRADABLE = new HGTransactionConfig();
static
{
NO_STORAGE.setNoStorage(true);
READONLY.setReadonly(true);
WRITE_UPGRADABLE.setWriteUpgradable(true);
}
private boolean noStorage = false;
private boolean readonly = false;
private boolean writeUpgradable = false;
public boolean isNoStorage()
{
return noStorage;
}
public void setNoStorage(boolean noStorage)
{
this.noStorage = noStorage;
}
public boolean isReadonly()
{
return readonly;
}
public void setReadonly(boolean readonly)
{
this.readonly = readonly;
writeUpgradable = false;
}
public boolean isWriteUpgradable()
{
return writeUpgradable;
}
public void setWriteUpgradable(boolean writeUpgradable)
{
this.writeUpgradable = writeUpgradable;
if (writeUpgradable)
readonly = true;
}
}