aboutsummaryrefslogtreecommitdiff
path: root/libjava
diff options
context:
space:
mode:
Diffstat (limited to 'libjava')
-rw-r--r--libjava/ChangeLog11
-rw-r--r--libjava/gnu/java/net/protocol/file/Connection.java106
-rw-r--r--libjava/gnu/java/net/protocol/file/Handler.java55
-rw-r--r--libjava/gnu/java/net/protocol/http/Connection.java44
-rw-r--r--libjava/gnu/java/net/protocol/http/Handler.java74
-rw-r--r--libjava/gnu/java/net/protocol/jar/Connection.java46
-rw-r--r--libjava/gnu/java/net/protocol/jar/Handler.java40
7 files changed, 292 insertions, 84 deletions
diff --git a/libjava/ChangeLog b/libjava/ChangeLog
index e89755b..dfe95a6 100644
--- a/libjava/ChangeLog
+++ b/libjava/ChangeLog
@@ -1,3 +1,14 @@
+2003-10-18 Michael Koch <konqueror@gmx.de>
+
+ * gnu/java/net/protocol/file/Connection.java,
+ gnu/java/net/protocol/file/Handler.java,
+ gnu/java/net/protocol/http/Connection.java,
+ gnu/java/net/protocol/http/Handler.java,
+ gnu/java/net/protocol/jar/Connection.java,
+ gnu/java/net/protocol/jar/Handler.java:
+ Merged copyright text from classpath to make
+ it possible to merge the classes.
+
2003-10-18 Mark Wielaard <mark@klomp.org>
Reported by M.Negovanovic
diff --git a/libjava/gnu/java/net/protocol/file/Connection.java b/libjava/gnu/java/net/protocol/file/Connection.java
index 3bddd0f..1df5c48 100644
--- a/libjava/gnu/java/net/protocol/file/Connection.java
+++ b/libjava/gnu/java/net/protocol/file/Connection.java
@@ -1,15 +1,45 @@
-// Connection.java - Implementation of URLConnection for file protocol.
-
-/* Copyright (C) 1999 Free Software Foundation
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
+/*
+ FileURLConnection.java -- URLConnection class for "file" protocol
+ Copyright (C) 1998, 1999, 2003 Free Software Foundation, Inc.
+
+ 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.
+
+ Linking this library statically or dynamically with other modules is
+ making a combined work based on this library. Thus, the terms and
+ conditions of the GNU General Public License cover the whole
+ combination.
+
+ As a special exception, the copyright holders of this library give you
+ permission to link this library with independent modules to produce an
+ executable, regardless of the license terms of these independent
+ modules, and to copy and distribute the resulting executable under
+ terms of your choice, provided that you also meet, for each linked
+ independent module, the terms and conditions of the license of that
+ module. An independent module is a module which is not derived from
+ or based on this library. If you modify this library, you may extend
+ this exception to your version of the library, but you are not
+ obligated to do so. If you do not wish to do so, delete this
+ exception statement from your version.
+*/
package gnu.java.net.protocol.file;
+import java.net.URL;
+import java.net.URLConnection;
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.File;
@@ -19,8 +49,6 @@ import java.io.InputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.net.ProtocolException;
-import java.net.URL;
-import java.net.URLConnection;
import java.util.Map;
import java.util.Vector;
import java.util.Hashtable;
@@ -30,14 +58,7 @@ import java.util.Enumeration;
* @author Warren Levy <warrenl@cygnus.com>
* @date April 13, 1999.
*/
-
-/**
- * Written using on-line Java Platform 1.2 API Specification, as well
- * as "The Java Class Libraries", 2nd edition (Addison-Wesley, 1998).
- * Status: Minimal subset of functionality.
- */
-
-class Connection extends URLConnection
+public class Connection extends URLConnection
{
private Hashtable hdrHash = new Hashtable();
private Vector hdrVec = new Vector();
@@ -48,16 +69,18 @@ class Connection extends URLConnection
public Connection(URL url)
{
- super(url);
+ super (url);
}
-
- // Implementation of abstract method.
+
+ /**
+ * "Connects" to the file by opening it.
+ */
public void connect() throws IOException
{
// Call is ignored if already connected.
if (connected)
return;
-
+
// If not connected, then file needs to be openned.
String fname = url.getFile();
fileIn = new File(fname);
@@ -65,21 +88,37 @@ class Connection extends URLConnection
inputStream = new BufferedInputStream(new FileInputStream(fileIn));
if (doOutput)
outputStream = new BufferedOutputStream(new FileOutputStream(fileIn));
+
connected = true;
}
-
- public InputStream getInputStream() throws IOException
+
+ /**
+ * Opens the file for reading and returns a stream for it.
+ *
+ * @return An InputStream for this connection.
+ *
+ * @exception IOException If an error occurs
+ */
+ public InputStream getInputStream()
+ throws IOException
{
if (! doInput)
throw new ProtocolException("Can't open InputStream if doInput is false");
if (!connected)
connect();
-
+
return inputStream;
}
- // Override default method in URLConnection.
- public OutputStream getOutputStream() throws IOException
+ /**
+ * Opens the file for writing and returns a stream for it.
+ *
+ * @return An OutputStream for this connection.
+ *
+ * @exception IOException If an error occurs.
+ */
+ public OutputStream getOutputStream()
+ throws IOException
{
if (! doOutput)
throw new
@@ -87,7 +126,7 @@ class Connection extends URLConnection
if (!connected)
connect();
-
+
return outputStream;
}
@@ -98,7 +137,7 @@ class Connection extends URLConnection
{
getHeaders();
}
- catch (IOException x)
+ catch (IOException e)
{
return null;
}
@@ -112,7 +151,7 @@ class Connection extends URLConnection
{
getHeaders();
}
- catch (IOException x)
+ catch (IOException e)
{
return null;
}
@@ -198,4 +237,5 @@ class Connection extends URLConnection
String key = getKey(line);
hdrHash.put(key.toLowerCase(), Long.toString(len));
}
-}
+
+} // class FileURLConnection
diff --git a/libjava/gnu/java/net/protocol/file/Handler.java b/libjava/gnu/java/net/protocol/file/Handler.java
index f85db44..7470d17 100644
--- a/libjava/gnu/java/net/protocol/file/Handler.java
+++ b/libjava/gnu/java/net/protocol/file/Handler.java
@@ -1,12 +1,39 @@
-// Handler.java - URLStreamHandler for file protocol.
+/* Handler.java -- "file" protocol handler for java.net
+ Copyright (C) 1998, 1999, 2000, 2002, 2003 Free Software Foundation, Inc.
-/* Copyright (C) 1999, 2000 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.
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
+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.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
package gnu.java.net.protocol.file;
@@ -16,16 +43,14 @@ import java.net.URLConnection;
import java.net.URLStreamHandler;
/**
+ * This is the protocol handler for the "file" protocol.
+ * It implements the abstract openConnection() method from
+ * URLStreamHandler by returning a new FileURLConnection object (from
+ * this package). All other methods are inherited
+ *
+ * @author Aaron M. Renn (arenn@urbanophile.com)
* @author Warren Levy <warrenl@cygnus.com>
- * @date April 13, 1999.
*/
-
-/**
- * Written using on-line Java Platform 1.2 API Specification, as well
- * as "The Java Class Libraries", 2nd edition (Addison-Wesley, 1998).
- * Status: Minimal functionality.
- */
-
public class Handler extends URLStreamHandler
{
protected URLConnection openConnection(URL url) throws IOException
@@ -50,4 +75,4 @@ public class Handler extends URLStreamHandler
return new Connection(url);
}
-}
+} // class Handler
diff --git a/libjava/gnu/java/net/protocol/http/Connection.java b/libjava/gnu/java/net/protocol/http/Connection.java
index 85c7910..7794bc7 100644
--- a/libjava/gnu/java/net/protocol/http/Connection.java
+++ b/libjava/gnu/java/net/protocol/http/Connection.java
@@ -1,12 +1,40 @@
-// Connection.java - Implementation of HttpURLConnection for http protocol.
+/* HttpURLConnection.java -- URLConnection class for HTTP protocol
+ Copyright (C) 1998, 1999, 2000, 2002, 2003 Free Software Foundation, Inc.
+
+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.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
-/* Copyright (C) 1999, 2000, 2003 Free Software Foundation
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
package gnu.java.net.protocol.http;
diff --git a/libjava/gnu/java/net/protocol/http/Handler.java b/libjava/gnu/java/net/protocol/http/Handler.java
index e1184bb..6f2ebb1 100644
--- a/libjava/gnu/java/net/protocol/http/Handler.java
+++ b/libjava/gnu/java/net/protocol/http/Handler.java
@@ -1,12 +1,39 @@
-// Handler.java - URLStreamHandler for http protocol.
+/* Handler.java -- HTTP protocol handler for java.net
+ Copyright (c) 1998, 1999, 2003 Free Software Foundation, Inc.
-/* Copyright (C) 1999, 2003 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.
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
+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.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
package gnu.java.net.protocol.http;
@@ -16,25 +43,44 @@ import java.net.URLConnection;
import java.net.URLStreamHandler;
/**
- * Written using on-line Java Platform 1.2 API Specification, as well
- * as "The Java Class Libraries", 2nd edition (Addison-Wesley, 1998).
- * Status: Minimal functionality.
- */
-
-/**
+ * This is the protocol handler for the HTTP protocol. It implements
+ * the abstract openConnection() method from URLStreamHandler by returning
+ * a new HttpURLConnection object (from this package). All other
+ * methods are inherited
+ *
+ * @author Aaron M. Renn (arenn@urbanophile.com)
* @author Warren Levy
* @author Anthony Green <green@redhat.com>
- * @date March 26, 1999.
*/
public class Handler extends URLStreamHandler
{
+ /**
+ * A do nothing constructor
+ */
+ public Handler()
+ {
+ }
+
+ /**
+ * This method returs a new HttpURLConnection for the specified URL
+ *
+ * @param url The URL to return a connection for
+ *
+ * @return The URLConnection
+ *
+ * @exception IOException If an error occurs
+ */
protected URLConnection openConnection (URL url) throws IOException
{
return new Connection (url);
}
+ /**
+ * Returns the default port for a URL parsed by this handler.
+ */
protected int getDefaultPort()
{
return 80;
}
-}
+
+} // class Handler
diff --git a/libjava/gnu/java/net/protocol/jar/Connection.java b/libjava/gnu/java/net/protocol/jar/Connection.java
index 19e8ab7..7d9d7cb 100644
--- a/libjava/gnu/java/net/protocol/jar/Connection.java
+++ b/libjava/gnu/java/net/protocol/jar/Connection.java
@@ -1,17 +1,47 @@
-/* Copyright (C) 1999, 2002 Free Software Foundation
+/* Connection - jar url connection for java.net
+ Copyright (C) 1999, 2002, 2003 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.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
package gnu.java.net.protocol.jar;
-import java.io.InputStream;
-import java.io.IOException;
import java.io.File;
import java.io.FileOutputStream;
+import java.io.InputStream;
+import java.io.IOException;
import java.net.JarURLConnection;
import java.net.MalformedURLException;
import java.net.ProtocolException;
@@ -28,7 +58,7 @@ import java.util.zip.ZipFile;
* @author Kresten Krab Thorup <krab@gnu.org>
* @date Aug 10, 1999.
*/
-public class Connection extends JarURLConnection
+public class Connection extends JarURLConnection
{
static Hashtable file_cache = new Hashtable();
private JarFile jarfile;
diff --git a/libjava/gnu/java/net/protocol/jar/Handler.java b/libjava/gnu/java/net/protocol/jar/Handler.java
index e19a5cf..7bde053 100644
--- a/libjava/gnu/java/net/protocol/jar/Handler.java
+++ b/libjava/gnu/java/net/protocol/jar/Handler.java
@@ -1,12 +1,40 @@
-// Handler.java - URLStreamHandler for file protocol.
+/* gnu.java.net.protocol.jar.Handler - jar protocol handler for java.net
+ Copyright (C) 1999, 2002, 2003 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.
+
+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.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
package gnu.java.net.protocol.jar;