Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'bundles/org.eclipse.equinox.common/src/org/eclipse/core/internal/boot/PlatformURLHandler.java')
-rw-r--r--bundles/org.eclipse.equinox.common/src/org/eclipse/core/internal/boot/PlatformURLHandler.java83
1 files changed, 0 insertions, 83 deletions
diff --git a/bundles/org.eclipse.equinox.common/src/org/eclipse/core/internal/boot/PlatformURLHandler.java b/bundles/org.eclipse.equinox.common/src/org/eclipse/core/internal/boot/PlatformURLHandler.java
deleted file mode 100644
index 2bfa34b21..000000000
--- a/bundles/org.eclipse.equinox.common/src/org/eclipse/core/internal/boot/PlatformURLHandler.java
+++ /dev/null
@@ -1,83 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.core.internal.boot;
-
-import java.io.IOException;
-import java.lang.reflect.Constructor;
-import java.net.*;
-import java.util.Hashtable;
-import org.eclipse.core.internal.runtime.CommonMessages;
-import org.eclipse.osgi.util.NLS;
-import org.osgi.service.url.AbstractURLStreamHandlerService;
-
-/**
- * URL handler for the "platform" protocol
- */
-public class PlatformURLHandler extends AbstractURLStreamHandlerService {
-
- private static Hashtable connectionType = new Hashtable();
-
- // URL protocol designations
- public static final String PROTOCOL = "platform"; //$NON-NLS-1$
- public static final String FILE = "file"; //$NON-NLS-1$
- public static final String JAR = "jar"; //$NON-NLS-1$
- public static final String BUNDLE = "bundle"; //$NON-NLS-1$
- public static final String JAR_SEPARATOR = "!/"; //$NON-NLS-1$
- public static final String PROTOCOL_SEPARATOR = ":"; //$NON-NLS-1$
-
- /*
- * Constructor for the class.
- */
- public PlatformURLHandler() {
- super();
- }
-
- /* (non-Javadoc)
- * @see org.osgi.service.url.AbstractURLStreamHandlerService#openConnection(java.net.URL)
- */
- public URLConnection openConnection(URL url) throws IOException {
- // Note: openConnection() method is made public (rather than protected)
- // to enable request delegation from proxy handlers
- String spec = url.getFile().trim();
- if (spec.startsWith("/")) //$NON-NLS-1$
- spec = spec.substring(1);
- int ix = spec.indexOf("/"); //$NON-NLS-1$
- if (ix == -1)
- throw new MalformedURLException(NLS.bind(CommonMessages.url_invalidURL, url.toExternalForm()));
-
- String type = spec.substring(0, ix);
- Constructor construct = (Constructor) connectionType.get(type);
- if (construct == null)
- throw new MalformedURLException(NLS.bind(CommonMessages.url_badVariant, type));
-
- PlatformURLConnection connection = null;
- try {
- connection = (PlatformURLConnection) construct.newInstance(new Object[] {url});
- } catch (Exception e) {
- throw new IOException(NLS.bind(CommonMessages.url_createConnection, e.getMessage()));
- }
- connection.setResolvedURL(connection.resolve());
- return connection;
- }
-
- public static void register(String type, Class connectionClass) {
- try {
- Constructor c = connectionClass.getConstructor(new Class[] {URL.class});
- connectionType.put(type, c);
- } catch (NoSuchMethodException e) {
- //don't register connection classes that don't conform to the spec
- }
- }
-
- public static void unregister(String type) {
- connectionType.remove(type);
- }
-}

Back to the top