package org.jboss.weld.tests.contexts;
import org.jboss.weld.context.ManagedContext;
public abstract class WorkInInactiveContext {
private final ManagedContext context;
public WorkInInactiveContext(ManagedContext context) {
this.context = context;
}
public void run() {
boolean wasActive = false;
try {
wasActive = context.isActive();
if (wasActive) {
context.deactivate();
}
work();
} finally {
if (wasActive) {
context.activate();
}
}
}
protected abstract void work();
public ManagedContext getContext() {
return context;
}
}