72 lines · 3.0 KB · Java
RawDownload
/* * Copyright (c) 2009, 2011, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License version 2 only, as * published by the Free Software Foundation.  Oracle designates this * particular file as subject to the "Classpath" exception as provided * by Oracle in the LICENSE file that accompanied this code. * * This code is distributed in the hope that it will be useful, but WITHOUT * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License * version 2 for more details (a copy is included in the LICENSE file that * accompanied this code). * * You should have received a copy of the GNU General Public License version * 2 along with this work; if not, write to the Free Software Foundation, * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. * * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA * or visit www.oracle.com if you need additional information or have any * questions. */ package java.lang; /** * A resource that must be closed when it is no longer needed. * * @author Josh Bloch * @since 1.7 */public interface AutoCloseable {    /**     * Closes this resource, relinquishing any underlying resources.     * This method is invoked automatically on objects managed by the     * {@code try}-with-resources statement.     *     * <p>While this interface method is declared to throw {@code     * Exception}, implementers are <em>strongly</em> encouraged to     * declare concrete implementations of the {@code close} method to     * throw more specific exceptions, or to throw no exception at all     * if the close operation cannot fail.     *     * <p><em>Implementers of this interface are also strongly advised     * to not have the {@code close} method throw {@link     * InterruptedException}.</em>     *     * This exception interacts with a thread's interrupted status,     * and runtime misbehavior is likely to occur if an {@code     * InterruptedException} is {@linkplain Throwable#addSuppressed     * suppressed}.     *     * More generally, if it would cause problems for an     * exception to be suppressed, the {@code AutoCloseable.close}     * method should not throw it.     *     * <p>Note that unlike the {@link java.io.Closeable#close close}     * method of {@link java.io.Closeable}, this {@code close} method     * is <em>not</em> required to be idempotent.  In other words,     * calling this {@code close} method more than once may have some     * visible side effect, unlike {@code Closeable.close} which is     * required to have no effect if called more than once.     *     * However, implementers of this interface are strongly encouraged     * to make their {@code close} methods idempotent.     *     * @throws Exception if this resource cannot be closed     */    void close() throws Exception;}

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t