A few things that require clarification: If we have
interface A extends B, C interface B extends MayHoldCloseableResource interface C extends AutoCloseable is A considered definitely holding resource? If @HoldsResource is applied to a subtype of MayHoldCloseableResource @HoldsResource interface D extends B What does it mean? If it mean that D definitely holds resource, is @HoldResource still necessary on methods that return D? Zhong Yu On Wed, Jul 10, 2013 at 4:30 PM, Henry Jen <henry....@oracle.com> wrote: > Hi, > > Please review webrev at > http://cr.openjdk.java.net/~henryjen/ccc/8017513/0/webrev/index.html > > This webrev improve resource release experience on Streams by > eliminating CloseableStream, instead, fold close capability into Stream. > > A new interface, java.util.MayHoldCloseableResource, indicates an > implementation may or may not hold a resource need to be closed. > Annotation {@link HoldsResource} may be used to guide users/static > analysis tools that a MHCR instance that definitely hold a Closeable > resource. > > Cheers, > Henry