From b89cfbce8effe8c54c770b320903bfc10b1d19fd Mon Sep 17 00:00:00 2001 From: mark Date: Sun, 30 Sep 2001 18:04:38 +0000 Subject: * java/io/DataInput.java: Merge with Classpath. * java/io/DataOutput.java: Idem. * java/io/FilenameFilter.java: Idem. * java/io/Serializable.java: Idem. * java/lang/Cloneable.java: Idem. * java/lang/Comparable.java: Idem. * java/lang/Runnable.java: Idem. * java/lang/reflect/Member.java: Idem. * java/net/ContentHandlerFactory.java: Idem. * java/net/FileNameMap.java: Idem. * java/net/SocketImplFactory.java: Idem. * java/net/SocketOptions.java: Idem. * java/net/URLStreamHandlerFactory.java: Idem. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@45910 138bc75d-0d04-0410-961f-82ee72b054a4 --- libjava/ChangeLog | 16 + libjava/java/io/DataInput.java | 478 ++++++++++++++++++++++++-- libjava/java/io/DataOutput.java | 235 +++++++++++-- libjava/java/io/FilenameFilter.java | 62 +++- libjava/java/io/Serializable.java | 42 ++- libjava/java/lang/Cloneable.java | 75 +++- libjava/java/lang/Comparable.java | 60 +++- libjava/java/lang/Runnable.java | 51 ++- libjava/java/lang/reflect/Member.java | 87 ++++- libjava/java/net/ContentHandlerFactory.java | 59 +++- libjava/java/net/FileNameMap.java | 58 +++- libjava/java/net/SocketImplFactory.java | 55 ++- libjava/java/net/SocketOptions.java | 151 ++++++-- libjava/java/net/URLStreamHandlerFactory.java | 58 +++- 14 files changed, 1269 insertions(+), 218 deletions(-) (limited to 'libjava') diff --git a/libjava/ChangeLog b/libjava/ChangeLog index 11791d2059c..bebc677d6b5 100644 --- a/libjava/ChangeLog +++ b/libjava/ChangeLog @@ -1,3 +1,19 @@ +2001-09-30 Mark Wielaard + + * java/io/DataInput.java: Merge with Classpath. + * java/io/DataOutput.java: Idem. + * java/io/FilenameFilter.java: Idem. + * java/io/Serializable.java: Idem. + * java/lang/Cloneable.java: Idem. + * java/lang/Comparable.java: Idem. + * java/lang/Runnable.java: Idem. + * java/lang/reflect/Member.java: Idem. + * java/net/ContentHandlerFactory.java: Idem. + * java/net/FileNameMap.java: Idem. + * java/net/SocketImplFactory.java: Idem. + * java/net/SocketOptions.java: Idem. + * java/net/URLStreamHandlerFactory.java: Idem. + 2001-09-30 Bryce McKinlay * java/lang/natClass.cc (_Jv_IsAssignableFrom): Handle the case of diff --git a/libjava/java/io/DataInput.java b/libjava/java/io/DataInput.java index 5930e496979..caea6828707 100644 --- a/libjava/java/io/DataInput.java +++ b/libjava/java/io/DataInput.java @@ -1,41 +1,461 @@ -/* Copyright (C) 1998, 1999 Free Software Foundation +/* DataInput.java -- Interface for reading data from a stream + Copyright (C) 1998, 1999, 2001 Free Software Foundation, Inc. - This file is part of libgcj. +This file is part of GNU Classpath. -This software is copyrighted work licensed under the terms of the -Libgcj License. Please consult the file "LIBGCJ_LICENSE" for -details. */ +GNU Classpath is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2, or (at your option) +any later version. -package java.io; +GNU Classpath 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 for more details. -/** - * @author Warren Levy - * @date October 2, 1998. - */ +You should have received a copy of the GNU General Public License +along with GNU Classpath; see the file COPYING. If not, write to the +Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA +02111-1307 USA. + +As a special exception, if you link this library with other files to +produce an executable, this library does not by itself cause the +resulting executable to be covered by the GNU General Public License. +This exception does not however invalidate any other reasons why the +executable file might be covered by the GNU General Public License. */ + + +package java.io; /* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3 * "The Java Language Specification", ISBN 0-201-63451-1 * plus online API docs for JDK 1.2 beta from http://www.javasoft.com. * Status: Believed complete and correct. */ - + +/** + * This interface is implemented by classes that can data from streams + * into Java primitive types. + * + * @author Aaron M. Renn (arenn@urbanophile.com) + * @author Warren Levy + */ public interface DataInput { - public boolean readBoolean() throws IOException; - public byte readByte() throws IOException; - public char readChar() throws IOException; - public double readDouble() throws IOException; - public float readFloat() throws IOException; - public void readFully(byte[] b) - throws IOException, NullPointerException; - public void readFully(byte[] b, int off, int len) - throws IOException, NullPointerException, IndexOutOfBoundsException; - public int readInt() throws IOException; - public String readLine() throws IOException; - public long readLong() throws IOException; - public short readShort() throws IOException; - public int readUnsignedByte() throws IOException; - public int readUnsignedShort() throws IOException; - public String readUTF() throws IOException; - public int skipBytes(int n) throws IOException; -} + +/** + * This method reads a Java boolean value from an input stream. It does + * so by reading a single byte of data. If that byte is zero, then the + * value returned is false. If the byte is non-zero, then + * the value returned is true. + *

+ * This method can read a boolean written by an object + * implementing the writeBoolean() method in the + * DataOutput interface. + * + * @return The boolean value read + * + * @exception EOFException If end of file is reached before reading the boolean + * @exception IOException If any other error occurs + */ +boolean +readBoolean() throws EOFException, IOException; + +/*************************************************************************/ + +/** + * This method reads a Java byte value from an input stream. The value + * is in the range of -128 to 127. + *

+ * This method can read a byte written by an object + * implementing the + * writeByte() method in the DataOutput interface. + *

+ * @return The byte value read + * + * @exception EOFException If end of file is reached before reading the byte + * @exception IOException If any other error occurs + * + * @see DataOutput + */ +byte +readByte() throws EOFException, IOException; + +/*************************************************************************/ + +/** + * This method reads 8 unsigned bits into a Java int value from + * the stream. The value returned is in the range of 0 to 255. + *

+ * This method can read an unsigned byte written by an object implementing the + * writeUnsignedByte() method in the DataOutput + * interface. + * + * @return The unsigned bytes value read as a Java int. + * + * @exception EOFException If end of file is reached before reading the value + * @exception IOException If any other error occurs + * + * @see DataOutput + */ +int +readUnsignedByte() throws EOFException, IOException; + +/*************************************************************************/ + +/** + * This method reads a Java char value from an input stream. + * It operates by reading two bytes from the stream and converting them to + * a single 16-bit Java char. The two bytes are stored most + * significant byte first (i.e., "big endian") regardless of the native + * host byte ordering. + *

+ * As an example, if byte1 and byte2 represent the + * first and second byte read from the stream respectively, they will be + * transformed to a char in the following manner: + *

+ * (char)((byte1 << 8) + byte2) + *

+ * This method can read a char written by an object implementing + * the + * writeChar() method in the DataOutput interface. + * + * @return The char value read + * + * @exception EOFException If end of file is reached before reading the char + * @exception IOException If any other error occurs + * + * @see DataOutput + */ +char +readChar() throws EOFException, IOException; + +/*************************************************************************/ + +/** + * This method reads a signed 16-bit value into a Java in from the stream. + * It operates by reading two bytes from the stream and converting them to + * a single 16-bit Java short. The two bytes are stored most + * significant byte first (i.e., "big endian") regardless of the native + * host byte ordering. + *

+ * As an example, if byte1 and byte2 represent the + * first and second byte read from the stream respectively, they will be + * transformed to a short in the following manner: + *

+ * (short)((byte1 << 8) + byte2) + *

+ * The value returned is in the range of -32768 to 32767. + *

+ * This method can read a short written by an object implementing + * the writeShort() method in the DataOutput + * interface. + * + * @return The short value read + * + * @exception EOFException If end of file is reached before reading the value + * @exception IOException If any other error occurs + * + * @see DataOutput + */ +short +readShort() throws EOFException, IOException; + +/*************************************************************************/ + +/** + * This method reads 16 unsigned bits into a Java int value from the stream. + * It operates by reading two bytes from the stream and converting them to + * a single Java int. The two bytes are stored most + * significant byte first (i.e., "big endian") regardless of the native + * host byte ordering. + *

+ * As an example, if byte1 and byte2 represent the + * first and second byte read from the stream respectively, they will be + * transformed to an int in the following manner: + *

+ * (int)((byte1 << 8) + byte2) + *

+ * The value returned is in the range of 0 to 65535. + *

+ * This method can read an unsigned short written by an object implementing + * the writeUnsignedShort() method in the DataOutput + * interface. + * + * @return The unsigned short value read as a Java int. + * + * @exception EOFException If end of file is reached before reading the value + * @exception IOException If any other error occurs + */ +int +readUnsignedShort() throws EOFException, IOException; + +/*************************************************************************/ + +/** + * This method reads a Java int value from an input stream + * It operates by reading four bytes from the stream and converting them to + * a single Java int. The bytes are stored most + * significant byte first (i.e., "big endian") regardless of the native + * host byte ordering. + *

+ * As an example, if byte1 through byte4 represent + * the first four bytes read from the stream, they will be + * transformed to an int in the following manner: + *

+ * (int)((byte1 << 24) + (byte2 << 16) + (byte3 << 8) + byte4)) + *

+ The value returned is in the range of -2147483648 to 2147483647. + *

+ * This method can read an int written by an object implementing + * the writeInt() method in the DataOutput interface. + * + * @return The int value read + * + * @exception EOFException If end of file is reached before reading the int + * @exception IOException If any other error occurs + * + * @see DataOutput + */ +int +readInt() throws EOFException, IOException; + +/*************************************************************************/ + +/** + * This method reads a Java long value from an input stream + * It operates by reading eight bytes from the stream and converting them to + * a single Java long. The bytes are stored most + * significant byte first (i.e., "big endian") regardless of the native + * host byte ordering. + *

+ * As an example, if byte1 through byte8 represent + * the first eight bytes read from the stream, they will be + * transformed to an long in the following manner: + *

+ * (long)((byte1 << 56) + (byte2 << 48) + (byte3 << 40) + + * (byte4 << 32) + (byte5 << 24) + (byte6 << 16) + (byte7 << 8) + byte9)) + * + *

+ * The value returned is in the range of -9223372036854775808 to + * 9223372036854775807. + *

+ * This method can read an long written by an object implementing + * the writeLong() method in the DataOutput + * interface. + * + * @return The long value read + * + * @exception EOFException If end of file is reached before reading the long + * @exception IOException If any other error occurs + * + * @see DataOutput + */ +long +readLong() throws EOFException, IOException; + +/*************************************************************************/ + +/** + * This method reads a Java float value from an input stream. It operates + * by first reading an int value from the stream by calling the + * readInt() method in this interface, then converts that + * int to a float using the + * intBitsToFloat method in the class + * java.lang.Float. + *

+ * This method can read a float written by an object implementing + * the writeFloat() method in the DataOutput + * interface. + * + * @return The float value read + * + * @exception EOFException If end of file is reached before reading the float + * @exception IOException If any other error occurs + * + * @see java.lang.Float + * @see DataOutput + */ +float +readFloat() throws EOFException, IOException; + +/*************************************************************************/ + +/** + * This method reads a Java double value from an input stream. It operates + * by first reading a long value from the stream by calling the + * readLong() method in this interface, then converts that + * long to a double using the + * longBitsToDouble method in the class + * java.lang.Double. + *

+ * This method can read a double written by an object + * implementing the writeDouble() method in the + * DataOutput interface. + * + * @return The double value read + * + * @exception EOFException If end of file is reached before reading the double + * @exception IOException If any other error occurs + * + * @see java.lang.Double + * @see DataOutput + */ +double +readDouble() throws EOFException, IOException; + +/*************************************************************************/ + +/** + * This method reads the next line of text data from an input stream. + * It operates by reading bytes and converting those bytes to char + * values by treating the byte read as the low eight bits of the + * char and using 0 as the high eight bits. Because of this, + * it does not support the full 16-bit Unicode character set. + *

+ * The reading of bytes ends when either the end of file or a line terminator + * is encountered. The bytes read are then returned as a String. + * A line terminator is a byte sequence consisting of either + * \r, \n or \r\n. These termination + * charaters are discarded and are not returned as part of the string. + *

+ * This method can read data that was written by an object implementing the + * writeLine() method in DataOutput. + * + * @return The line read as a String + * + * @exception IOException If an error occurs + * + * @see DataOutput + */ +String +readLine() throws IOException; + +/*************************************************************************/ + +/** + * This method reads a String from an input stream that is + * encoded in a modified UTF-8 format. This format has a leading two byte + * sequence that contains the remaining number of bytes to read. This two byte + * sequence is read using the readUnsignedShort() method of this + * interface. + * + * After the number of remaining bytes have been determined, these bytes + * are read an transformed into char values. These + * char values are encoded in the stream using either a one, two, + * or three byte format. + * The particular format in use can be determined by examining the first + * byte read. + *

+ * If the first byte has a high order bit of 0, then + * that character consists on only one byte. This character value consists + * of seven bits that are at positions 0 through 6 of the byte. As an + * example, if byte1 is the byte read from the stream, it would + * be converted to a char like so: + *

+ * (char)byte1 + *

+ * If the first byte has 110 as its high order bits, then the + * character consists of two bytes. The bits that make up the character + * value are in positions 0 through 4 of the first byte and bit positions + * 0 through 5 of the second byte. (The second byte should have + * 10 as its high order bits). These values are in most significant + * byte first (i.e., "big endian") order. + *

+ * As an example, if byte1 and byte2 are the first + * two bytes read respectively, and the high order bits of them match the + * patterns which indicate a two byte character encoding, then they would be + * converted to a Java char like so: + *

+ * (char)(((byte1 & 0x1F) << 6) + (byte2 & 0x3F)) + *

+ * If the first byte has a 1110 as its high order bits, then the + * character consists of three bytes. The bits that make up the character + * value are in positions 0 through 3 of the first byte and bit positions + * 0 through 5 of the other two bytes. (The second and third bytes should + * have 10 as their high order bits). These values are in most + * significant byte first (i.e., "big endian") order. + *

+ * As an example, if byte1, byte2, and + * byte3 are the three bytes read, and the high order bits of + * them match the patterns which indicate a three byte character encoding, + * then they would be converted to a Java char like so: + * + * + * (char)(((byte1 & 0x0F) << 12) + ((byte2 & 0x3F) + (byte3 & 0x3F)) + * + * + * Note that all characters are encoded in the method that requires the + * fewest number of bytes with the exception of the character with the + * value of \u0000 which is encoded as two bytes. This is + * a modification of the UTF standard used to prevent C language style + * NUL values from appearing in the byte stream. + *

+ * This method can read data that was written by an object implementing the + * writeUTF() method in DataOutput. + * + * @returns The String read + * + * @exception EOFException If end of file is reached before reading the String + * @exception UTFDataFormatException If the data is not in UTF-8 format + * @exception IOException If any other error occurs + * + * @see DataOutput + */ +String +readUTF() throws EOFException, UTFDataFormatException, IOException; + +/*************************************************************************/ + +/** + * This method reads raw bytes into the passed array until the array is + * full. Note that this method blocks until the data is available and + * throws an exception if there is not enough data left in the stream to + * fill the buffer + * + * @param buf The buffer into which to read the data + * + * @exception EOFException If end of file is reached before filling the buffer + * @exception IOException If any other error occurs + */ +void +readFully(byte[] buf) throws EOFException, IOException; + +/*************************************************************************/ + +/** + * This method reads raw bytes into the passed array buf starting + * offset bytes into the buffer. The number of bytes read will be + * exactly len. Note that this method blocks until the data is + * available and * throws an exception if there is not enough data left in + * the stream to read len bytes. + * + * @param buf The buffer into which to read the data + * @param offset The offset into the buffer to start storing data + * @param len The number of bytes to read into the buffer + * + * @exception EOFException If end of file is reached before filling the buffer + * @exception IOException If any other error occurs + */ +void +readFully(byte[] buf, int offset, int len) throws EOFException, IOException; + +/*************************************************************************/ + +/** + * This method skips and discards the specified number of bytes in an + * input stream + * + * @param num_bytes The number of bytes to skip + * + * @return The number of bytes actually skipped, which will always be + * num_bytes + * + * @exception EOFException If end of file is reached before all bytes can be + * skipped + * @exception IOException If any other error occurs + */ +int +skipBytes(int n) throws EOFException, IOException; + +} // interface DataInput diff --git a/libjava/java/io/DataOutput.java b/libjava/java/io/DataOutput.java index d0def85cdf9..bb6c3c6a2b9 100644 --- a/libjava/java/io/DataOutput.java +++ b/libjava/java/io/DataOutput.java @@ -1,44 +1,217 @@ -// DataOutput.java - Interface for data output conversions. +/* DataOutput.java -- Interface for writing data from a stream + Copyright (C) 1998, 1999, 2001 Free Software Foundation, Inc. -/* Copyright (C) 1998, 1999 Free Software Foundation +This file is part of GNU Classpath. - This file is part of libgcj. +GNU Classpath is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2, or (at your option) +any later version. + +GNU Classpath 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 for more details. -This software is copyrighted work licensed under the terms of the -Libgcj License. Please consult the file "LIBGCJ_LICENSE" for -details. */ +You should have received a copy of the GNU General Public License +along with GNU Classpath; see the file COPYING. If not, write to the +Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA +02111-1307 USA. -package java.io; +As a special exception, if you link this library with other files to +produce an executable, this library does not by itself cause the +resulting executable to be covered by the GNU General Public License. +This exception does not however invalidate any other reasons why the +executable file might be covered by the GNU General Public License. */ -/** - * @author Tom Tromey - * @date September 24, 1998 - */ + +package java.io; /* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3 * "The Java Language Specification", ISBN 0-201-63451-1 * Status: Complete to version 1.1. */ +/** + * This interface is implemented by classes that can wrte data to streams + * from Java primitive types. + * + * @author Aaron M. Renn (arenn@urbanophile.com) + * @author Tom Tromey + */ public interface DataOutput { - public abstract void write (int b) throws IOException; - public abstract void write (byte[] b) - throws IOException, NullPointerException; - public abstract void write (byte[] b, int off, int len) - throws IOException, NullPointerException, IndexOutOfBoundsException; - public abstract void writeBoolean (boolean v) throws IOException; - public abstract void writeByte (int v) throws IOException; - public abstract void writeShort (int v) throws IOException; - public abstract void writeChar (int v) throws IOException; - public abstract void writeInt (int v) throws IOException; - public abstract void writeLong (long v) throws IOException; - public abstract void writeFloat (float v) throws IOException; - public abstract void writeDouble (double v) throws IOException; - public abstract void writeBytes (String s) - throws IOException, NullPointerException; - public abstract void writeChars (String s) - throws IOException, NullPointerException; - public abstract void writeUTF (String s) - throws IOException, NullPointerException; -} + +/** + * This method writes a Java boolean value to an output stream + * + * @param value The boolean value to write + * + * @exception IOException If an error occurs + */ +void +writeBoolean(boolean value) throws IOException; + +/*************************************************************************/ + +/** + * This method writes a Java byte value to an output stream + * + * @param value The int value to write + * + * @exception IOException If an error occurs + */ +void +writeByte(int value) throws IOException; + +/*************************************************************************/ + +/** + * This method writes a Java char value to an output stream + * + * @param value The char value to write + * + * @exception IOException If an error occurs + */ +void +writeChar(int value) throws IOException; + +/*************************************************************************/ + +/** + * This method writes a Java int value to an output stream as a 16 bit value + * + * @param value The int value to write as a 16-bit value + * + * @exception IOException If an error occurs + */ +void +writeShort(int value) throws IOException; + +/*************************************************************************/ + +/** + * This method writes a Java int value to an output stream + * + * @param value The int value to write + * + * @exception IOException If an error occurs + */ +void +writeInt(int value) throws IOException; + +/*************************************************************************/ + +/** + * This method writes a Java long value to an output stream + * + * @param value The long value to write + * + * @exception IOException If an error occurs + */ +void +writeLong(long value) throws IOException; + +/*************************************************************************/ + +/** + * This method writes a Java float value to an output stream + * + * @param value The float value to write + * + * @exception IOException If an error occurs + */ +void +writeFloat(float value) throws IOException; + +/*************************************************************************/ + +/** + * This method writes a Java double value to an output stream + * + * @param value The double value to write + * + * @exception IOException If any other error occurs + */ +void +writeDouble(double value) throws IOException; + +/*************************************************************************/ + +/** + * This method writes a String to an output stream as an array of bytes + * + * @param value The String to write + * + * @exception IOException If an error occurs + */ +void +writeBytes(String value) throws IOException; + +/*************************************************************************/ + +/** + * This method writes a String to an output stream as an array of char's + * + * @param value The String to write + * + * @exception IOException If an error occurs + */ +void +writeChars(String value) throws IOException; + +/*************************************************************************/ + +/** + * This method writes a String to an output stream encoded in + * UTF-8 format. + * + * @param value The String to write + * + * @exception IOException If an error occurs + */ +void +writeUTF(String value) throws IOException; + +/*************************************************************************/ + +/** + * This method writes an 8-bit value (passed into the method as a Java + * int) to an output stream. + * + * @param value The byte to write to the output stream + * + * @exception IOException If an error occurs + */ +void +write(int value) throws IOException; + +/*************************************************************************/ + +/** + * This method writes the raw byte array passed in to the output stream. + * + * @param buf The byte array to write + * + * @exception IOException If an error occurs + */ +void +write(byte[] buf) throws IOException; + +/*************************************************************************/ + +/** + * This method writes raw bytes from the passed array buf starting + * offset bytes into the buffer. The number of bytes written will be + * exactly len. + * + * @param buf The buffer from which to write the data + * @param offset The offset into the buffer to start writing data from + * @param len The number of bytes to write from the buffer to the output stream + * + * @exception IOException If any other error occurs + */ +void +write(byte[] buf, int offset, int len) throws IOException; + +} // interface DataOutput diff --git a/libjava/java/io/FilenameFilter.java b/libjava/java/io/FilenameFilter.java index 05e7fd0dd79..3e9eb9011d7 100644 --- a/libjava/java/io/FilenameFilter.java +++ b/libjava/java/io/FilenameFilter.java @@ -1,26 +1,62 @@ -// FilenameFilter.java - Compute subset of list of file names +/* FilenameFilter.java -- Filter a list of filenames + Copyright (C) 1998, 1999, 2001 Free Software Foundation, Inc. -/* Copyright (C) 1998, 1999 Free Software Foundation +This file is part of GNU Classpath. - This file is part of libgcj. +GNU Classpath is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2, or (at your option) +any later version. + +GNU Classpath 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 for more details. -This software is copyrighted work licensed under the terms of the -Libgcj License. Please consult the file "LIBGCJ_LICENSE" for -details. */ +You should have received a copy of the GNU General Public License +along with GNU Classpath; see the file COPYING. If not, write to the +Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA +02111-1307 USA. -package java.io; +As a special exception, if you link this library with other files to +produce an executable, this library does not by itself cause the +resulting executable to be covered by the GNU General Public License. +This exception does not however invalidate any other reasons why the +executable file might be covered by the GNU General Public License. */ -/** - * @author Tom Tromey - * @date September 24, 1998 - */ + +package java.io; /* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3 * "The Java Language Specification", ISBN 0-201-63451-1 * Status: Complete to 1.1. */ +/** + * This interface has one method which is used for filtering filenames + * returned in a directory listing. It is currently used by the + * File.list() method and by the filename dialog in AWT. + *

+ * The method in this interface determines if a particular file should + * or should not be included in the file listing. + * + * @author Aaron M. Renn (arenn@urbanophile.com) + * @author Tom Tromey + */ public interface FilenameFilter { - public abstract boolean accept (File dir, String name); -} + +/** + * This method determines whether or not a given file should be included + * in a directory listing. + * + * @param dir The File instance for the directory being read + * @param name The name of the file to test + * + * @return true if the file should be included in the list, + * false otherwise. + */ +boolean +accept(File dir, String name); + +} // interface FilenameFilter diff --git a/libjava/java/io/Serializable.java b/libjava/java/io/Serializable.java index fab9188d101..ff6d08cdded 100644 --- a/libjava/java/io/Serializable.java +++ b/libjava/java/io/Serializable.java @@ -1,21 +1,43 @@ -/* Copyright (C) 1998, 1999 Free Software Foundation +/* Serializable.java -- Interface to indicate a class may be serialized + Copyright (C) 1998, 1999, 2001 Free Software Foundation, Inc. - This file is part of libgcj. +This file is part of GNU Classpath. + +GNU Classpath is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2, or (at your option) +any later version. + +GNU Classpath 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 for more details. + +You should have received a copy of the GNU General Public License +along with GNU Classpath; see the file COPYING. If not, write to the +Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA +02111-1307 USA. + +As a special exception, if you link this library with other files to +produce an executable, this library does not by itself cause the +resulting executable to be covered by the GNU General Public License. +This exception does not however invalidate any other reasons why the +executable file might be covered by the GNU General Public License. */ -This software is copyrighted work licensed under the terms of the -Libgcj License. Please consult the file "LIBGCJ_LICENSE" for -details. */ package java.io; -/** - * @author Warren Levy - * @date August 18, 1998. - */ /* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3 * Status: Believed complete */ +/** + * This interface has no methods. It simply serves to indicate that + * the implementing class may be serialized. + * + * @author Aaron M. Renn (arenn@urbanophile.com) + * @author Warren Levy + */ public interface Serializable { -} +} // interface Serializable diff --git a/libjava/java/lang/Cloneable.java b/libjava/java/lang/Cloneable.java index 404bff914f9..1524409ee20 100644 --- a/libjava/java/lang/Cloneable.java +++ b/libjava/java/lang/Cloneable.java @@ -1,23 +1,76 @@ -/* Copyright (C) 1998, 1999 Free Software Foundation +/* Cloneable.java -- Interface for marking objects cloneable by Object.clone() + Copyright (C) 1998, 1999, 2001 Free Software Foundation, Inc. - This file is part of libgcj. +This file is part of GNU Classpath. -This software is copyrighted work licensed under the terms of the -Libgcj License. Please consult the file "LIBGCJ_LICENSE" for -details. */ +GNU Classpath is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2, or (at your option) +any later version. +GNU Classpath 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 for more details. + +You should have received a copy of the GNU General Public License +along with GNU Classpath; see the file COPYING. If not, write to the +Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA +02111-1307 USA. + +As a special exception, if you link this library with other files to +produce an executable, this library does not by itself cause the +resulting executable to be covered by the GNU General Public License. +This exception does not however invalidate any other reasons why the +executable file might be covered by the GNU General Public License. */ + + package java.lang; - -/** - * @author Warren Levy - * @date September 2, 1998. - */ + /* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3 * "The Java Language Specification", ISBN 0-201-63451-1 * plus online API docs for JDK 1.2 beta from http://www.javasoft.com. * Status: Believed complete and correct. */ - + +/** + * This interface should be implemented by classes wishing to + * support of override Object.clone(). The default + * behaviour of clone() performs a shallow copy, but + * subclasses often change this to perform a deep copy. Therefore, + * it is a good idea to document how deep your clone will go. + * If clone() is called on an object which does not + * implement this interface, a CloneNotSupportedException + * will be thrown. + *

+ * + * This interface is simply a tagging interface; it carries no + * requirements on methods to implement. However, it is typical for + * a Cloneable class to implement at least equals, + * hashCode, and clone, sometimes + * increasing the accessibility of clone to be public. The typical + * implementation of clone invokes super.clone() + * rather than a constructor, but this is not a requirement. + *

+ * + * If an object that implement Cloneable should not be cloned, + * simply override the clone method to throw a + * CloneNotSupportedException. + *

+ * + * All array types implement Cloneable, and have a public + * clone method that will never fail with a + * CloneNotSupportedException. + * + * @since 1.0 + * @author Paul Fisher + * @author Eric Blake + * @author Warren Levy + * + * @see Object#clone() + * @see CloneNotSupportedException + */ public interface Cloneable { + // Tagging interface only. } diff --git a/libjava/java/lang/Comparable.java b/libjava/java/lang/Comparable.java index d153d1050bd..734abc40d1f 100644 --- a/libjava/java/lang/Comparable.java +++ b/libjava/java/lang/Comparable.java @@ -1,22 +1,58 @@ -/* Copyright (C) 1998, 1999 Free Software Foundation +/* Comparable.java -- Interface for comparaing objects to obtain an ordering + Copyright (C) 1998, 1999, 2001 Free Software Foundation, Inc. - This file is part of libgcj. +This file is part of GNU Classpath. -This software is copyrighted work licensed under the terms of the -Libgcj License. Please consult the file "LIBGCJ_LICENSE" for -details. */ +GNU Classpath is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2, or (at your option) +any later version. +GNU Classpath 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 for more details. + +You should have received a copy of the GNU General Public License +along with GNU Classpath; see the file COPYING. If not, write to the +Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA +02111-1307 USA. + +As a special exception, if you link this library with other files to +produce an executable, this library does not by itself cause the +resulting executable to be covered by the GNU General Public License. +This exception does not however invalidate any other reasons why the +executable file might be covered by the GNU General Public License. */ + + package java.lang; - -/** - * @author Warren Levy - * @date September 8, 1998. - */ + /* Written using online API docs for JDK 1.2 beta from http://www.javasoft.com. * Status: Believed complete and correct. */ - + +/** + * Interface for objects that can be ordering among other + * objects. The ordering can be total, such that two objects + * only compare equal if they are equal by the equals method, or + * partial such that this is not necessarily true. For + * example, a case-sensitive dictionary order comparison of Strings + * is total, but if it is case-insensitive it is partial, because + * "abc" and "ABC" compare as equal even though "abc".equals("ABC") + * returns false. + * + * @author Geoff Berry + * @author Warren Levy + * + * @since JDK1.2 + * @see java.util.Comparator + */ public interface Comparable { - public int compareTo(Object o) throws ClassCastException; + /** + * @return a negative integer if this object is less than + * o, zero if this object is equal to o, or + * a positive integer if this object is greater than o + */ + int compareTo( Object o ); } diff --git a/libjava/java/lang/Runnable.java b/libjava/java/lang/Runnable.java index a5eed31ebae..3d424e2da4c 100644 --- a/libjava/java/lang/Runnable.java +++ b/libjava/java/lang/Runnable.java @@ -1,19 +1,31 @@ -// Runnable.java - Runnable interface. +/* java.lang.Runnable + Copyright (C) 1998, 1999, 2001 Free Software Foundation, Inc. -/* Copyright (C) 1998, 1999 Free Software Foundation +This file is part of GNU Classpath. - This file is part of libgcj. +GNU Classpath is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2, or (at your option) +any later version. + +GNU Classpath 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 for more details. -This software is copyrighted work licensed under the terms of the -Libgcj License. Please consult the file "LIBGCJ_LICENSE" for -details. */ +You should have received a copy of the GNU General Public License +along with GNU Classpath; see the file COPYING. If not, write to the +Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA +02111-1307 USA. -package java.lang; +As a special exception, if you link this library with other files to +produce an executable, this library does not by itself cause the +resulting executable to be covered by the GNU General Public License. +This exception does not however invalidate any other reasons why the +executable file might be covered by the GNU General Public License. */ -/** - * @author Tom Tromey - * @date August 25, 1998 - */ + +package java.lang; /* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3 * "The Java Language Specification", ISBN 0-201-63451-1 @@ -21,7 +33,22 @@ package java.lang; * Status: Complete. */ +/** + * Runnable is an interface you implement to indicate that your class can be + * executed as the main part of a Thread, among other places. When you want + * an entry point to run a piece of code, implement this interface and + * override run. + * + * @author Paul Fisher + * @author Tom Tromey + */ + public interface Runnable { - public abstract void run (); + /** + * This method will be called by whoever wishes to run your class + * implementing Runnable. + * @since JDK1.0 + */ + void run(); } diff --git a/libjava/java/lang/reflect/Member.java b/libjava/java/lang/reflect/Member.java index 43b14acce19..d76cdda1bef 100644 --- a/libjava/java/lang/reflect/Member.java +++ b/libjava/java/lang/reflect/Member.java @@ -1,26 +1,81 @@ -/* Copyright (C) 1998, 1999 Free Software Foundation +/* java.lang.reflect.Member + Copyright (C) 1998, 1999, 2001 Free Software Foundation, Inc. - This file is part of libgcj. +This file is part of GNU Classpath. + +GNU Classpath is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2, or (at your option) +any later version. + +GNU Classpath 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 for more details. + +You should have received a copy of the GNU General Public License +along with GNU Classpath; see the file COPYING. If not, write to the +Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA +02111-1307 USA. + +As a special exception, if you link this library with other files to +produce an executable, this library does not by itself cause the +resulting executable to be covered by the GNU General Public License. +This exception does not however invalidate any other reasons why the +executable file might be covered by the GNU General Public License. */ -This software is copyrighted work licensed under the terms of the -Libgcj License. Please consult the file "LIBGCJ_LICENSE" for -details. */ package java.lang.reflect; -/** - * @author Per Bothner - * @date September 27, 1998. - */ /* Written using "Java Class Libraries", 2nd edition. * Status: Believed complete and correct. */ -public interface Member -{ - public static final int PUBLIC = 0; - public static final int DECLARED = 1; - public Class getDeclaringClass (); - public int getModifiers (); - public String getName(); +/** + * Member is an interface that represents any member of a class. + * i.e. a field, a method or a constructor. + * You can get information about the declaring class, name or modifiers of + * the member with this interface. + * + * @author John Keiser + * @author Per Bothner + */ +public interface Member { + /** + * Represents all members, whether public, private, protected or + * package-protected. + * Used in java.lang.SecurityManager.checkMemberAccess() to determine the + * type of members to access. + */ + static final int DECLARED = 1; + + /** + * Represents public members only. Used inr + * java.lang.SecurityManager.checkMemberAccess() to determine the type of + * members to access. + */ + static final int PUBLIC = 0; + + /** + * Gets the class that declared this member. + * It is unclear whether this returns the class that actually + * syntactically declared the member, or the class where the + * Member object was gotten from. + * @return the class that declared this member. + */ + Class getDeclaringClass(); + + /** + * Gets the modifiers this member uses. Use the Modifier + * class to interpret the values. + * @see Modifier + * @return an integer representing the modifiers to this Member. + */ + int getModifiers(); + + /** + * Gets the name of this member. + * @return the name of this member. + */ + String getName(); } diff --git a/libjava/java/net/ContentHandlerFactory.java b/libjava/java/net/ContentHandlerFactory.java index d2727611d9c..95198a65d8a 100644 --- a/libjava/java/net/ContentHandlerFactory.java +++ b/libjava/java/net/ContentHandlerFactory.java @@ -1,19 +1,31 @@ -// ContentHandlerFactory.java - Abstract Content Handler factory. +/* ContentHandlerFactory.java -- Interface for creating content handlers + Copyright (C) 1998, 1999, 2000, 2001 Free Software Foundation, Inc. -/* Copyright (C) 1999 Free Software Foundation +This file is part of GNU Classpath. - This file is part of libgcj. +GNU Classpath is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2, or (at your option) +any later version. + +GNU Classpath 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 for more details. -This software is copyrighted work licensed under the terms of the -Libgcj License. Please consult the file "LIBGCJ_LICENSE" for -details. */ +You should have received a copy of the GNU General Public License +along with GNU Classpath; see the file COPYING. If not, write to the +Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA +02111-1307 USA. -package java.net; +As a special exception, if you link this library with other files to +produce an executable, this library does not by itself cause the +resulting executable to be covered by the GNU General Public License. +This exception does not however invalidate any other reasons why the +executable file might be covered by the GNU General Public License. */ -/** - * @author Warren Levy - * @date March 5, 1999. - */ + +package java.net; /** * Written using on-line Java Platform 1.2 API Specification, as well @@ -21,7 +33,26 @@ package java.net; * Status: Believed complete and correct. */ -public abstract interface ContentHandlerFactory +/** + * This interface maps MIME types to ContentHandler objects. It consists + * of one method that, when passed a MIME type, returns a handler for that + * type. + * + * @author Aaron M. Renn (arenn@urbanophile.com) + * @author Warren Levy + */ +public interface ContentHandlerFactory { - public ContentHandler createContentHandler(String mimetype); -} +/** + * This method is passed a MIME type as a string and is responsible for + * returning the appropriate ContentType object. + * + * @param mime_type The MIME type to map to a ContentHandler + * + * @return The ContentHandler for the passed in MIME type + */ +ContentHandler +createContentHandler(String mime_type); + +} // interface ContentHandlerFactory + diff --git a/libjava/java/net/FileNameMap.java b/libjava/java/net/FileNameMap.java index cc70aa221da..42b5f875fd3 100644 --- a/libjava/java/net/FileNameMap.java +++ b/libjava/java/net/FileNameMap.java @@ -1,19 +1,31 @@ -// FileNameMap.java - Abstract interface to map from a File Name to MIME type. +/* FileNameMap.java -- Maps filenames to MIME types + Copyright (C) 1998, 1999, 2000, 2001 Free Software Foundation, Inc. -/* Copyright (C) 1999 Free Software Foundation +This file is part of GNU Classpath. - This file is part of libgcj. +GNU Classpath is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2, or (at your option) +any later version. + +GNU Classpath 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 for more details. -This software is copyrighted work licensed under the terms of the -Libgcj License. Please consult the file "LIBGCJ_LICENSE" for -details. */ +You should have received a copy of the GNU General Public License +along with GNU Classpath; see the file COPYING. If not, write to the +Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA +02111-1307 USA. -package java.net; +As a special exception, if you link this library with other files to +produce an executable, this library does not by itself cause the +resulting executable to be covered by the GNU General Public License. +This exception does not however invalidate any other reasons why the +executable file might be covered by the GNU General Public License. */ -/** - * @author Warren Levy - * @date March 5, 1999. - */ + +package java.net; /** * Written using on-line Java Platform 1.2 API Specification, as well @@ -21,7 +33,25 @@ package java.net; * Status: Believed complete and correct. */ -public abstract interface FileNameMap +/** + * This interface has one method which, when passed a filename, returns + * the MIME type associated with that filename. + * + * @author Aaron M. Renn (arenn@urbanophile.com) + * @author Warren Levy + */ +public interface FileNameMap { - public String getContentTypeFor(String fileName); -} +/** + * This method is passed a filename and is responsible for determining + * the appropriate MIME type for that file. + * + * @param filename The name of the file to generate a MIME type for. + * + * @return The MIME type for the filename passed in. + */ +String +getContentTypeFor(String filename); + +} // interface FileNameMap + diff --git a/libjava/java/net/SocketImplFactory.java b/libjava/java/net/SocketImplFactory.java index defce2e02cb..73f66ec859f 100644 --- a/libjava/java/net/SocketImplFactory.java +++ b/libjava/java/net/SocketImplFactory.java @@ -1,25 +1,52 @@ -// SocketImplFactory.java - Abstract socket implementation factory. +/* SocketImplFactory.java -- Interface to create a SocketImpl object + Copyright (C) 1998, 1999, 2000, 2001 Free Software Foundation, Inc. -/* Copyright (C) 1999 Free Software Foundation +This file is part of GNU Classpath. - This file is part of libgcj. +GNU Classpath is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2, or (at your option) +any later version. + +GNU Classpath 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 for more details. -This software is copyrighted work licensed under the terms of the -Libgcj License. Please consult the file "LIBGCJ_LICENSE" for -details. */ +You should have received a copy of the GNU General Public License +along with GNU Classpath; see the file COPYING. If not, write to the +Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA +02111-1307 USA. -package java.net; +As a special exception, if you link this library with other files to +produce an executable, this library does not by itself cause the +resulting executable to be covered by the GNU General Public License. +This exception does not however invalidate any other reasons why the +executable file might be covered by the GNU General Public License. */ -/** - * @author Per Bothner - * @date January 6, 1999. - */ + +package java.net; /** Written using on-line Java Platform 1.2 API Specification. * Status: Believed complete and correct. */ -public abstract interface SocketImplFactory +/** + * This interface defines one method which returns a SocketImpl object. + * This should not be needed by ordinary applications. + * + * @author Aaron M. Renn (arenn@urbanophile.com) + * @author Per Bothner + */ +public interface SocketImplFactory { - public SocketImpl createSocketImpl (); -} +/** + * This method returns an instance of the SocketImpl object + * + * @return A SocketImpl object + */ +SocketImpl +createSocketImpl(); + +} // interface SocketImplFactory + diff --git a/libjava/java/net/SocketOptions.java b/libjava/java/net/SocketOptions.java index d0e00d9ec08..f83fb5005dd 100644 --- a/libjava/java/net/SocketOptions.java +++ b/libjava/java/net/SocketOptions.java @@ -1,40 +1,135 @@ -// SocketOptions.java - Interface for get/set socket options. +/* SocketOptions.java -- Implements options for sockets (duh!) + Copyright (C) 1998, 1999, 2000, 2001 Free Software Foundation, Inc. -/* Copyright (C) 1999 Free Software Foundation +This file is part of GNU Classpath. - This file is part of libgcj. +GNU Classpath is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2, or (at your option) +any later version. + +GNU Classpath 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 for more details. -This software is copyrighted work licensed under the terms of the -Libgcj License. Please consult the file "LIBGCJ_LICENSE" for -details. */ +You should have received a copy of the GNU General Public License +along with GNU Classpath; see the file COPYING. If not, write to the +Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA +02111-1307 USA. -package java.net; +As a special exception, if you link this library with other files to +produce an executable, this library does not by itself cause the +resulting executable to be covered by the GNU General Public License. +This exception does not however invalidate any other reasons why the +executable file might be covered by the GNU General Public License. */ -/** - * @author Warren Levy - * @date May 3, 1999. - */ +package java.net; /** * Written using on-line Java Platform 1.2 API Specification. * Status: Believed complete and correct. */ -public abstract interface SocketOptions +/** + * This interface is used by SocketImpl and + * DatagramSocketImpl to implement options + * on sockets. + * + * @since 1.2 + * + * @author Aaron M. Renn (arenn@urbanophile.com) + * @author Warren Levy + */ +public interface SocketOptions { - public static final int TCP_NODELAY = 0x1; - public static final int SO_BINDADDR = 0xF; - public static final int SO_REUSEADDR = 0x4; - public static final int IP_MULTICAST_IF = 0x10; - public static final int SO_LINGER = 0x80; - public static final int SO_TIMEOUT = 0x1006; - - // JDK1.2 - public static final int SO_SNDBUF = 0x1001; - - // JDK1.2 - public static final int SO_RCVBUF = 0x1002; - - public void setOption(int optID, Object value) throws SocketException; - public Object getOption(int optID) throws SocketException; -} + +/*************************************************************************/ + +/* + * Static Variables + */ + +/** + * Option id for the SO_LINGER value + */ +static final int SO_LINGER = 0x80; // 128 + +/** + * Option id for the SO_TIMEOUT value + */ +static final int SO_TIMEOUT = 0x1006; // 4102 + +/** + * Retrieve the local address to which the socket is bound. + */ +static final int SO_BINDADDR = 0x0F; // 15 + +/** + * Option id for the send buffer size + * @since 1.2 + */ +static final int SO_SNDBUF = 0x1001; // 4097 + +/** + * Option id for the receive buffer size + * @since 1.2 + */ +static final int SO_RCVBUF = 0x1002; // 4098 + +/** + * Sets the SO_REUSEADDR parameter on a socket + */ +static final int SO_REUSEADDR = 0x04; // 4 + +/** + * Option id for the TCP_NODELAY value + */ +static final int TCP_NODELAY = 0x01; // 1 + +/** + * Options id for the IP_MULTICAST_IF value + */ +static final int IP_MULTICAST_IF = 0x10; // 16 + +/*************************************************************************/ + +/* + * Interface Methods + */ + +/** + * Sets the specified option on a socket to the passed in object. For + * options that take an integer argument, the passed in object is an + * Integer. For options that are set to on or off, the + * value passed will be a Boolean. The option_id + * parameter is one of the defined constants in this interface. + * + * @param option_id The identifier of the option + * @param val The value to set the option to + * + * @exception SocketException If an error occurs + */ +void +setOption(int option_id, Object val) throws SocketException; + +/*************************************************************************/ + +/** + * Returns the current setting of the specified option. The + * Object returned will be an Integer for options + * that have integer values. For options that are set to on or off, a + * Boolean will be returned. The option_id + * is one of the defined constants in this interface. + * + * @param option_id The option identifier + * + * @return The current value of the option + * + * @exception SocketException If an error occurs + */ +Object +getOption(int option_id) throws SocketException; + +} // interface SocketOptions + diff --git a/libjava/java/net/URLStreamHandlerFactory.java b/libjava/java/net/URLStreamHandlerFactory.java index a1b85bbcd64..26eb0e39d56 100644 --- a/libjava/java/net/URLStreamHandlerFactory.java +++ b/libjava/java/net/URLStreamHandlerFactory.java @@ -1,19 +1,30 @@ -// URLStreamHandlerFactory.java - Abstract URL Stream Handler factory. +/* URLStreamHandlerFactory.java -- Maps protocols to URLStreamHandlers + Copyright (C) 1998, 1999, 2000, 2001 Free Software Foundation, Inc. -/* Copyright (C) 1999 Free Software Foundation +This file is part of GNU Classpath. - This file is part of libgcj. +GNU Classpath is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2, or (at your option) +any later version. + +GNU Classpath 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 for more details. -This software is copyrighted work licensed under the terms of the -Libgcj License. Please consult the file "LIBGCJ_LICENSE" for -details. */ +You should have received a copy of the GNU General Public License +along with GNU Classpath; see the file COPYING. If not, write to the +Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA +02111-1307 USA. -package java.net; +As a special exception, if you link this library with other files to +produce an executable, this library does not by itself cause the +resulting executable to be covered by the GNU General Public License. +This exception does not however invalidate any other reasons why the +executable file might be covered by the GNU General Public License. */ -/** - * @author Warren Levy - * @date March 5, 1999. - */ +package java.net; /** * Written using on-line Java Platform 1.2 API Specification, as well @@ -21,7 +32,26 @@ package java.net; * Status: Believed complete and correct. */ -public abstract interface URLStreamHandlerFactory +/** + * This interface contains one method which maps the protocol portion of + * a URL (eg, "http" in "http://www.urbanophile.com/arenn/") to a + * URLStreamHandler object. + * + * @author Aaron M. Renn (arenn@urbanophile.com) + * @author Warren Levy + */ +public interface URLStreamHandlerFactory { - public URLStreamHandler createURLStreamHandler(String protocol); -} +/** + * This method maps the protocol portion of a URL to a URLStreamHandler + * object. + * + * @param protocol The protocol name to map ("http", "ftp", etc). + * + * @return The URLStreamHandler for the specified protocol + */ +URLStreamHandler +createURLStreamHandler(String protocol); + +} // interface URLStreamHandlerFactory + -- cgit v1.2.1