package io.cattle.platform.hazelcast.lock;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.locks.Condition;
import java.util.concurrent.locks.Lock;
import com.hazelcast.core.IMap;
public class HazelcastMapLock implements Lock {
IMap<String, Object> map;
String key;
public HazelcastMapLock(IMap<String, Object> map, String key) {
this.map = map;
this.key = key;
}
@Override
public void lock() {
throw new UnsupportedOperationException();
}
@Override
public void lockInterruptibly() throws InterruptedException {
throw new UnsupportedOperationException();
}
@Override
public boolean tryLock() {
return map.tryLock(key);
}
@Override
public boolean tryLock(long time, TimeUnit unit) throws InterruptedException {
return map.tryLock(key, time, unit);
}
@Override
public void unlock() {
map.unlock(key);
}
@Override
public Condition newCondition() {
throw new UnsupportedOperationException();
}
}