diff options
author | Michael Koch <konqueror@gmx.de> | 2002-10-21 04:53:50 +0000 |
---|---|---|
committer | Michael Koch <mkoch@gcc.gnu.org> | 2002-10-21 04:53:50 +0000 |
commit | e1caed898803653c0c8183eaab732e52b32dd501 (patch) | |
tree | b447e5f79ee0539fc3758ba8fc6ed0a6b4745cd9 /libjava/java/net/URL.java | |
parent | e2a450f6e8c771989af3968aa22ece380599fc0f (diff) | |
download | gcc-e1caed898803653c0c8183eaab732e52b32dd501.zip gcc-e1caed898803653c0c8183eaab732e52b32dd501.tar.gz gcc-e1caed898803653c0c8183eaab732e52b32dd501.tar.bz2 |
2002-10-11 Michael Koch <konqueror@gmx.de>
* java/net/URL.java
(URL): Activate SecurityManager checks.
(equals): Use URLStreamHandler implementation instead of doing it
alone. This allows special protocol stream handlers to change default
behaviour.
(hashCode): Use URLStreamHandler implementation instead of doing it
alone. This allows special protocol stream handlers to change default
behaviour.
* java/net/URLStreamHandler.java
(equals): Implemented default URL equality check.
(hostsEqual): Implemented default URL equality check.
(hashCode): Implemented default URL hashCode algorithm.
* java/net/natPlainDatagramSocketImpl.cc:
No lines longer then 80 characters.
From-SVN: r58345
Diffstat (limited to 'libjava/java/net/URL.java')
-rw-r--r-- | libjava/java/net/URL.java | 45 |
1 files changed, 9 insertions, 36 deletions
diff --git a/libjava/java/net/URL.java b/libjava/java/net/URL.java index d93dbfb..b485c51 100644 --- a/libjava/java/net/URL.java +++ b/libjava/java/net/URL.java @@ -98,14 +98,9 @@ public final class URL implements Serializable if (handler != null) { - // TODO12: Need SecurityManager.checkPermission and - // TODO12: java.net.NetPermission from JDK 1.2 to be implemented. - // Throw an exception if an extant security mgr precludes - // specifying a StreamHandler. - // - // SecurityManager s = System.getSecurityManager(); - // if (s != null) - // s.checkPermission(NetPermission("specifyStreamHandler")); + SecurityManager s = System.getSecurityManager (); + if (s != null) + s.checkPermission (new NetPermission ("specifyStreamHandler")); this.handler = handler; } @@ -234,14 +229,9 @@ public final class URL implements Serializable if (handler != null) { - // TODO12: Need SecurityManager.checkPermission and - // TODO12: java.net.NetPermission from JDK 1.2 to be implemented. - // Throw an exception if an extant security mgr precludes - // specifying a StreamHandler. - // - // SecurityManager s = System.getSecurityManager(); - // if (s != null) - // s.checkPermission(NetPermission("specifyStreamHandler")); + SecurityManager s = System.getSecurityManager (); + if (s != null) + s.checkPermission (new NetPermission ("specifyStreamHandler")); this.handler = handler; } @@ -270,24 +260,8 @@ public final class URL implements Serializable return false; URL uObj = (URL) obj; - - // This comparison is very conservative. It assumes that any - // field can be null. - return (port == uObj.port - && ((protocol == null && uObj.protocol == null) - || (protocol != null && protocol.equals(uObj.protocol))) - && ((userInfo == null && uObj.userInfo == null) - || (userInfo != null && userInfo.equals(uObj.userInfo))) - && ((authority == null && uObj.authority == null) - || (authority != null && authority.equals(uObj.authority))) - && ((host == null && uObj.host == null) - || (host != null && host.equals(uObj.host))) - && ((file == null && uObj.file == null) - || (file != null && file.equals(uObj.file))) - && ((query == null && uObj.query == null) - || (query != null && query.equals(uObj.query))) - && ((ref == null && uObj.ref == null) - || (ref != null && ref.equals(uObj.ref)))); + + return handler.equals (this, uObj); } /** @@ -412,8 +386,7 @@ public final class URL implements Serializable if (hashCode != 0) return hashCode; // Use cached value if available. else - return (protocol.hashCode() + ((host == null) ? 0 : host.hashCode()) + - port + file.hashCode()); + return handler.hashCode (this); } /** |