/**
*
*/
package com.yoursway.databinding.commons;
import java.util.concurrent.locks.ReentrantLock;
import org.eclipse.core.databinding.observable.Realm;
public class YourSwayRealm extends Realm {
private ReentrantLock lock = new ReentrantLock();
@Override
public boolean isCurrent() {
return lock.isHeldByCurrentThread();
}
@Override
protected void syncExec(Runnable runnable) {
lock.lock();
try {
runnable.run();
} finally {
lock.unlock();
}
}
@Override
public void asyncExec(Runnable runnable) {
throw new UnsupportedOperationException();
}
@Override
public void exec(Runnable runnable) {
syncExec(runnable);
}
}