From 378ac6605dde842d47f8d210af6b046e7bcb1dcd Mon Sep 17 00:00:00 2001 From: warrenl Date: Thu, 15 Apr 1999 21:33:39 +0000 Subject: * Makefile.am (ordinary_java_source_files): Added new Connection and Handler classes in gnu.gcj.protocol.file package. * Makefile.in: Rebuilt. * gnu/gcj/protocol/file/Connection.java: New file. * gnu/gcj/protocol/file/Handler.java: New file. * gnu/gcj/protocol/http/Connection.java (getInputStream): Check if doInput allows input. (getOutputStream): Check if doOutput allows output. * java/net/URLStreamHandler.java (parseURL): Fix indentation. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@26479 138bc75d-0d04-0410-961f-82ee72b054a4 --- libjava/gnu/gcj/protocol/file/Handler.java | 49 ++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 libjava/gnu/gcj/protocol/file/Handler.java (limited to 'libjava/gnu/gcj/protocol/file/Handler.java') diff --git a/libjava/gnu/gcj/protocol/file/Handler.java b/libjava/gnu/gcj/protocol/file/Handler.java new file mode 100644 index 00000000000..de7d79b35d0 --- /dev/null +++ b/libjava/gnu/gcj/protocol/file/Handler.java @@ -0,0 +1,49 @@ +// Handler.java - URLStreamHandler for file protocol. + +/* Copyright (C) 1999 Cygnus Solutions + + 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.gcj.protocol.file; + +import java.net.URL; +import java.net.URLConnection; +import java.net.URLStreamHandler; +import java.io.IOException; + +/** + * @author Warren Levy + * @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 + { + // If a hostname is set, then we need to switch protocols to ftp + // in order to transfer this from the remote host. + if (! url.getHost().equals("")) + { + // Reset the protocol (and implicitly the handler) for this URL. + // Then have the URL attempt the connection again, as it will + // get the changed handler the next time around. + url.set("ftp", url.getHost(), url.getPort(), url.getFile(), + url.getRef()); + // Until the ftp protocol handler is written, this will cause + // a NullPointerException. + return url.openConnection(); + } + + return new Connection(url); + } +} -- cgit v1.2.3