package org.jactr.tools.experiment.lock;
/*
* default logging
*/
import java.util.Map;
import java.util.TreeMap;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
public class LockManager
{
/**
* Logger definition
*/
static private final transient Log LOGGER = LogFactory
.getLog(LockManager.class);
private Map<String, Boolean> _locks;
public LockManager()
{
_locks = new TreeMap<String, Boolean>();
}
synchronized public boolean lockExists(String name)
{
return _locks.containsKey(name.toLowerCase());
}
synchronized public boolean isLocked(String name)
{
name = name.toLowerCase();
if (!lockExists(name)) return true;
return _locks.get(name.toLowerCase());
}
synchronized public void lock(String name)
{
_locks.put(name.toLowerCase(), Boolean.TRUE);
}
synchronized public void unlock(String name)
{
_locks.put(name.toLowerCase(), Boolean.FALSE);
}
}