Signed-off-by: Pekka Enberg <penb...@kernel.org> --- ChangeLog | 19 ++++++++++++ gnu/java/nio/FileLockImpl.java | 5 +++ java/beans/XMLDecoder.java | 1 + java/beans/XMLEncoder.java | 4 ++- java/io/Closeable.java | 1 + java/io/ObjectInput.java | 3 +- java/io/ObjectOutput.java | 3 +- .../{io/Closeable.java => lang/AutoCloseable.java} | 31 ++++++-------------- java/nio/channels/FileLock.java | 1 + java/sql/Connection.java | 1 + java/sql/ResultSet.java | 1 + java/sql/Statement.java | 1 + javax/sound/midi/MidiDevice.java | 1 + javax/sound/midi/Receiver.java | 1 + javax/sound/midi/Transmitter.java | 1 + javax/sound/sampled/Line.java | 1 + 16 files changed, 50 insertions(+), 25 deletions(-) copy java/{io/Closeable.java => lang/AutoCloseable.java} (69%)
diff --git a/ChangeLog b/ChangeLog index 73be859..2ff7b62 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,24 @@ 2012-03-12 Pekka Enberg <penb...@kernel.org> + * gnu/java/nio/FileLockImpl.java, + * java/beans/XMLDecoder.java, + * java/beans/XMLEncoder.java, + * java/io/Closeable.java, + * java/io/ObjectInput.java, + * java/io/ObjectOutput.java, + * java/lang/AutoCloseable.java, + * java/nio/channels/FileLock.java, + * java/sql/Connection.java, + * java/sql/ResultSet.java, + * java/sql/Statement.java, + * javax/sound/midi/MidiDevice.java, + * javax/sound/midi/Receiver.java, + * javax/sound/midi/Transmitter.java, + * javax/sound/sampled/Line.java: + Add missing interface. + +2012-03-12 Pekka Enberg <penb...@kernel.org> + * java/lang/reflect/Modifier.java: (classModifiers): Add missing method. (interfaceModifiers): Add missing method. diff --git a/gnu/java/nio/FileLockImpl.java b/gnu/java/nio/FileLockImpl.java index e714ea3..0c6e468 100644 --- a/gnu/java/nio/FileLockImpl.java +++ b/gnu/java/nio/FileLockImpl.java @@ -88,6 +88,11 @@ public final class FileLockImpl extends FileLock return valid; } + public void close() throws Exception + { + release(); + } + /** * Releases the lock if it is still valid. Marks this lock as invalid. */ diff --git a/java/beans/XMLDecoder.java b/java/beans/XMLDecoder.java index 2689639..bafafe4 100644 --- a/java/beans/XMLDecoder.java +++ b/java/beans/XMLDecoder.java @@ -104,6 +104,7 @@ import java.util.NoSuchElementException; * @status updated to 1.5 */ public class XMLDecoder + implements AutoCloseable { private Object owner; diff --git a/java/beans/XMLEncoder.java b/java/beans/XMLEncoder.java index 40cb6db..894e4b8 100644 --- a/java/beans/XMLEncoder.java +++ b/java/beans/XMLEncoder.java @@ -50,7 +50,9 @@ import java.io.OutputStream; * @author Robert Schuster (robertschus...@fsfe.org) * @since 1.4 */ -public class XMLEncoder extends Encoder +public class XMLEncoder + extends Encoder + implements AutoCloseable { Object owner; diff --git a/java/io/Closeable.java b/java/io/Closeable.java index b8523d7..f5f8083 100644 --- a/java/io/Closeable.java +++ b/java/io/Closeable.java @@ -48,6 +48,7 @@ package java.io; * @since 1.5 */ public interface Closeable + extends AutoCloseable { /** diff --git a/java/io/ObjectInput.java b/java/io/ObjectInput.java index f8d51e0..071f67d 100644 --- a/java/io/ObjectInput.java +++ b/java/io/ObjectInput.java @@ -48,7 +48,8 @@ package java.io; * * @see DataInput */ -public interface ObjectInput extends DataInput +public interface ObjectInput + extends DataInput, AutoCloseable { /** * This method returns the number of bytes that can be read without diff --git a/java/io/ObjectOutput.java b/java/io/ObjectOutput.java index 628f8b9..4ec6c6f 100644 --- a/java/io/ObjectOutput.java +++ b/java/io/ObjectOutput.java @@ -48,7 +48,8 @@ package java.io; * * @see DataOutput */ -public interface ObjectOutput extends DataOutput +public interface ObjectOutput + extends DataOutput, AutoCloseable { /** * This method writes the specified byte to the output stream. diff --git a/java/io/Closeable.java b/java/lang/AutoCloseable.java similarity index 69% copy from java/io/Closeable.java copy to java/lang/AutoCloseable.java index b8523d7..4c1ddaa 100644 --- a/java/io/Closeable.java +++ b/java/lang/AutoCloseable.java @@ -1,5 +1,6 @@ -/* Closeable.java -- Closeable object - Copyright (C) 2004, 2005 Free Software Foundation +/* AutoCloseable.java -- Resource that must be closed after it is no longer + used. + Copyright (C) 2012 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -35,29 +36,15 @@ this exception to your version of the library, but you are not obligated to do so. If you do not wish to do so, delete this exception statement from your version. */ -package java.io; + +package java.lang; /** - * A <code>Closeable</code> class represents a stream of - * data, which can be closed when it is no longer needed. - * Closing a stream allows the resources it uses to be - * freed for an alternate use. + * Resource that must be closed after it is no longer used. * - * @author Tom Tromey (tro...@redhat.com) - * @author Andrew John Hughes (gnu_and...@member.fsf.org) - * @since 1.5 + * @since 1.7 */ -public interface Closeable +public interface AutoCloseable { - - /** - * Closes the stream represented by this class, thus freeing - * system resources. In that case that the stream is already - * in the closed state, this method has no effect. - * - * @throws IOException if an I/O error occurs in closing. - */ - void close() - throws IOException; - + void close() throws Exception; } diff --git a/java/nio/channels/FileLock.java b/java/nio/channels/FileLock.java index 78210b3..02b561a 100644 --- a/java/nio/channels/FileLock.java +++ b/java/nio/channels/FileLock.java @@ -45,6 +45,7 @@ import java.io.IOException; * @since 1.4 */ public abstract class FileLock + implements AutoCloseable { private final FileChannel channel; private final long position; diff --git a/java/sql/Connection.java b/java/sql/Connection.java index f375276..b1e7034 100644 --- a/java/sql/Connection.java +++ b/java/sql/Connection.java @@ -46,6 +46,7 @@ import java.util.Map; * @author Aaron M. Renn (ar...@urbanophile.com) */ public interface Connection + extends AutoCloseable { /** * This transaction isolation level indicates that transactions are not diff --git a/java/sql/ResultSet.java b/java/sql/ResultSet.java index 3b49a6a..c487bed 100644 --- a/java/sql/ResultSet.java +++ b/java/sql/ResultSet.java @@ -60,6 +60,7 @@ import java.util.Map; * @author Aaron M. Renn (ar...@urbanophile.com) */ public interface ResultSet + extends AutoCloseable { /** * The rows will be processed in order from first to last. diff --git a/java/sql/Statement.java b/java/sql/Statement.java index 1b57fb3..5f35e7b 100644 --- a/java/sql/Statement.java +++ b/java/sql/Statement.java @@ -44,6 +44,7 @@ package java.sql; * @author Aaron M. Renn (ar...@urbanophile.com) */ public interface Statement + extends AutoCloseable { int CLOSE_CURRENT_RESULT = 1; int KEEP_CURRENT_RESULT = 2; diff --git a/javax/sound/midi/MidiDevice.java b/javax/sound/midi/MidiDevice.java index 7a0ca7f..7ce22ca 100644 --- a/javax/sound/midi/MidiDevice.java +++ b/javax/sound/midi/MidiDevice.java @@ -46,6 +46,7 @@ package javax.sound.midi; * */ public interface MidiDevice + extends AutoCloseable { /** * Get the Info object describing this device. diff --git a/javax/sound/midi/Receiver.java b/javax/sound/midi/Receiver.java index bc660d0..535c9df 100644 --- a/javax/sound/midi/Receiver.java +++ b/javax/sound/midi/Receiver.java @@ -47,6 +47,7 @@ package javax.sound.midi; * */ public interface Receiver + extends AutoCloseable { /** * Send a MIDI message and timestamp. Some receivers don't support diff --git a/javax/sound/midi/Transmitter.java b/javax/sound/midi/Transmitter.java index ab81cc8..2c62795 100644 --- a/javax/sound/midi/Transmitter.java +++ b/javax/sound/midi/Transmitter.java @@ -47,6 +47,7 @@ package javax.sound.midi; * */ public interface Transmitter + extends AutoCloseable { /** * Set the Receiver to which MIDI events will be sent. diff --git a/javax/sound/sampled/Line.java b/javax/sound/sampled/Line.java index 62d284b..75c7a84 100644 --- a/javax/sound/sampled/Line.java +++ b/javax/sound/sampled/Line.java @@ -43,6 +43,7 @@ package javax.sound.sampled; * @since 1.3 */ public interface Line + extends AutoCloseable { /** * An object of this type holds information about a Line. -- 1.7.7.6