blob: 877ec447a9222d18610aa33b3bcce7196874feae [file] [log] [blame]
package com.google.inject.servlet;
import java.io.Closeable;
/** Object that can be used to apply a request scope to a block of code. */
public interface RequestScoper {
/**
* Opens up the request scope until the returned object is closed. Implementations should ensure
* (e.g. by blocking) that multiple threads cannot open the same request scope concurrently. It is
* allowable to open the same request scope on the same thread, as long as open/close calls are
* correctly nested.
*/
CloseableScope open();
/** Closeable subclass that does not throw any exceptions from close. */
public interface CloseableScope extends Closeable {
@Override
void close();
}
}