Commit cfcdbe54 by Mark Wielaard Committed by Mark Wielaard

DataInput.java: Merge with Classpath.

	* 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.

From-SVN: r45910
parent c9b9c05c
2001-09-30 Mark Wielaard <mark@klomp.org>
* 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 <bryce@waitaki.otago.ac.nz>
* java/lang/natClass.cc (_Jv_IsAssignableFrom): Handle the case of
......
// 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 <tromey@cygnus.com>
* @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 <tromey@cygnus.com>
*/
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 <code>buf</code> starting
* <code>offset</code> bytes into the buffer. The number of bytes written will be
* exactly <code>len</code>.
*
* @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
// 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 <tromey@cygnus.com>
* @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
* <code>File.list()</code> method and by the filename dialog in AWT.
* <p>
* 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 <tromey@cygnus.com>
*/
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 <code>File</code> instance for the directory being read
* @param name The name of the file to test
*
* @return <code>true</code> if the file should be included in the list,
* <code>false</code> otherwise.
*/
boolean
accept(File dir, String name);
} // interface FilenameFilter
/* 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 <warrenl@cygnus.com>
* @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 <warrenl@cygnus.com>
*/
public interface Serializable
{
}
} // interface Serializable
/* 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 <warrenl@cygnus.com>
* @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 <code>Object.clone()</code>. The default
* behaviour of <code>clone()</code> 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 <code>clone()</code> is called on an object which does not
* implement this interface, a <code>CloneNotSupportedException</code>
* will be thrown.
* <p>
*
* 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 <code>equals</code>,
* <code>hashCode</code>, and <code>clone</code>, sometimes
* increasing the accessibility of clone to be public. The typical
* implementation of <code>clone</code> invokes <code>super.clone()</code>
* rather than a constructor, but this is not a requirement.
* <p>
*
* If an object that implement Cloneable should not be cloned,
* simply override the <code>clone</code> method to throw a
* <code>CloneNotSupportedException</code>.
* <p>
*
* All array types implement Cloneable, and have a public
* <code>clone</code> method that will never fail with a
* <code>CloneNotSupportedException</code>.
*
* @since 1.0
* @author Paul Fisher
* @author Eric Blake <ebb9@email.byu.edu>
* @author Warren Levy <warrenl@cygnus.com>
*
* @see Object#clone()
* @see CloneNotSupportedException
*/
public interface Cloneable
{
// Tagging interface only.
}
/* 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 <warrenl@cygnus.com>
* @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 <EM>total</EM>, such that two objects
* only compare equal if they are equal by the equals method, or
* <EM>partial</EM> 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 <warrenl@cygnus.com>
*
* @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
* <code>o<code>, zero if this object is equal to <code>o</code>, or
* a positive integer if this object is greater than <code>o</code>
*/
int compareTo( Object o );
}
// 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 <tromey@cygnus.com>
* @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 <tromey@cygnus.com>
*/
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();
}
/* 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 <bothner@cygnus.com>
* @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 <bothner@cygnus.com>
*/
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.
* <STRONG>It is unclear whether this returns the class that actually
* syntactically declared the member, or the class where the
* <code>Member</code> object was gotten from.</STRONG>
* @return the class that declared this member.
*/
Class getDeclaringClass();
/**
* Gets the modifiers this member uses. Use the <code>Modifier</code>
* 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();
}
// 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 <warrenl@cygnus.com>
* @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 <warrenl@cygnus.com>
*/
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
// 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 <warrenl@cygnus.com>
* @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 <warrenl@cygnus.com>
*/
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
// 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 <bothner@cygnus.com>
* @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 <bothner@cygnus.com>
*/
public interface SocketImplFactory
{
public SocketImpl createSocketImpl ();
}
/**
* This method returns an instance of the SocketImpl object
*
* @return A SocketImpl object
*/
SocketImpl
createSocketImpl();
} // interface SocketImplFactory
// 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 <warrenl@cygnus.com>
* @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 <code>SocketImpl</code> and
* <code>DatagramSocketImpl</code> to implement options
* on sockets.
*
* @since 1.2
*
* @author Aaron M. Renn (arenn@urbanophile.com)
* @author Warren Levy <warrenl@cygnus.com>
*/
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
* <code>Integer</code>. For options that are set to on or off, the
* value passed will be a <code>Boolean</code>. The <code>option_id</code>
* 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
* <code>Object</code> returned will be an <code>Integer</code> for options
* that have integer values. For options that are set to on or off, a
* <code>Boolean</code> will be returned. The <code>option_id</code>
* 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
// 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 <warrenl@cygnus.com>
* @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 <warrenl@cygnus.com>
*/
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
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment