Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/internal/util/om/OSGiBundle.java')
-rw-r--r--plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/internal/util/om/OSGiBundle.java232
1 files changed, 116 insertions, 116 deletions
diff --git a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/internal/util/om/OSGiBundle.java b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/internal/util/om/OSGiBundle.java
index ed6d5bd4d1..29887d84ae 100644
--- a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/internal/util/om/OSGiBundle.java
+++ b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/internal/util/om/OSGiBundle.java
@@ -1,116 +1,116 @@
-/*
- * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) 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:
- * Eike Stepper - initial API and implementation
- */
-package org.eclipse.net4j.internal.util.om;
-
-import org.eclipse.net4j.internal.util.bundle.AbstractBundle;
-import org.eclipse.net4j.internal.util.bundle.AbstractPlatform;
-import org.eclipse.net4j.util.WrappedException;
-import org.eclipse.net4j.util.collection.AbstractIterator;
-
-import org.eclipse.core.runtime.FileLocator;
-import org.eclipse.core.runtime.Platform;
-
-import org.osgi.framework.Bundle;
-import org.osgi.framework.BundleContext;
-
-import java.io.IOException;
-import java.net.URL;
-import java.util.Enumeration;
-import java.util.Iterator;
-import java.util.LinkedList;
-import java.util.Queue;
-
-/**
- * @author Eike Stepper
- */
-public class OSGiBundle extends AbstractBundle
-{
- public OSGiBundle(AbstractPlatform platform, String bundleID, Class<?> accessor)
- {
- super(platform, bundleID, accessor);
- }
-
- @Override
- public BundleContext getBundleContext()
- {
- return (BundleContext)super.getBundleContext();
- }
-
- public URL getBaseURL()
- {
- try
- {
- URL entry = getBundleContext().getBundle().getEntry("/"); //$NON-NLS-1$
- URL baseURL = FileLocator.resolve(entry);
- String str = baseURL.toExternalForm();
- if (str.endsWith("/./")) //$NON-NLS-1$
- {
- baseURL = new URL(str.substring(0, str.length() - 2));
- }
-
- return baseURL;
- }
- catch (IOException ex)
- {
- throw WrappedException.wrap(ex);
- }
- }
-
- public Iterator<Class<?>> getClasses()
- {
- final Queue<String> folders = new LinkedList<String>();
- folders.offer("/");
-
- return new AbstractIterator<Class<?>>()
- {
- private Enumeration<String> entryPaths;
-
- @Override
- protected Object computeNextElement()
- {
- for (;;)
- {
- while (entryPaths != null && entryPaths.hasMoreElements())
- {
- String entryPath = entryPaths.nextElement();
- if (entryPath.endsWith("/"))
- {
- folders.offer(entryPath);
- }
- else
- {
- Class<?> c = getClassFromBundle(entryPath);
- if (c != null)
- {
- return c;
- }
- }
- }
-
- String folder = folders.poll();
- if (folder == null)
- {
- return END_OF_DATA;
- }
-
- Bundle bundle = getBundleContext().getBundle();
- entryPaths = bundle.getEntryPaths(folder);
- }
- }
- };
- }
-
- public String getStateLocation()
- {
- Bundle bundle = getBundleContext().getBundle();
- return Platform.getStateLocation(bundle).toString();
- }
-}
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) 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:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.net4j.internal.util.om;
+
+import org.eclipse.net4j.internal.util.bundle.AbstractBundle;
+import org.eclipse.net4j.internal.util.bundle.AbstractPlatform;
+import org.eclipse.net4j.util.WrappedException;
+import org.eclipse.net4j.util.collection.AbstractIterator;
+
+import org.eclipse.core.runtime.FileLocator;
+import org.eclipse.core.runtime.Platform;
+
+import org.osgi.framework.Bundle;
+import org.osgi.framework.BundleContext;
+
+import java.io.IOException;
+import java.net.URL;
+import java.util.Enumeration;
+import java.util.Iterator;
+import java.util.LinkedList;
+import java.util.Queue;
+
+/**
+ * @author Eike Stepper
+ */
+public class OSGiBundle extends AbstractBundle
+{
+ public OSGiBundle(AbstractPlatform platform, String bundleID, Class<?> accessor)
+ {
+ super(platform, bundleID, accessor);
+ }
+
+ @Override
+ public BundleContext getBundleContext()
+ {
+ return (BundleContext)super.getBundleContext();
+ }
+
+ public URL getBaseURL()
+ {
+ try
+ {
+ URL entry = getBundleContext().getBundle().getEntry("/"); //$NON-NLS-1$
+ URL baseURL = FileLocator.resolve(entry);
+ String str = baseURL.toExternalForm();
+ if (str.endsWith("/./")) //$NON-NLS-1$
+ {
+ baseURL = new URL(str.substring(0, str.length() - 2));
+ }
+
+ return baseURL;
+ }
+ catch (IOException ex)
+ {
+ throw WrappedException.wrap(ex);
+ }
+ }
+
+ public Iterator<Class<?>> getClasses()
+ {
+ final Queue<String> folders = new LinkedList<String>();
+ folders.offer("/");
+
+ return new AbstractIterator<Class<?>>()
+ {
+ private Enumeration<String> entryPaths;
+
+ @Override
+ protected Object computeNextElement()
+ {
+ for (;;)
+ {
+ while (entryPaths != null && entryPaths.hasMoreElements())
+ {
+ String entryPath = entryPaths.nextElement();
+ if (entryPath.endsWith("/"))
+ {
+ folders.offer(entryPath);
+ }
+ else
+ {
+ Class<?> c = getClassFromBundle(entryPath);
+ if (c != null)
+ {
+ return c;
+ }
+ }
+ }
+
+ String folder = folders.poll();
+ if (folder == null)
+ {
+ return END_OF_DATA;
+ }
+
+ Bundle bundle = getBundleContext().getBundle();
+ entryPaths = bundle.getEntryPaths(folder);
+ }
+ }
+ };
+ }
+
+ public String getStateLocation()
+ {
+ Bundle bundle = getBundleContext().getBundle();
+ return Platform.getStateLocation(bundle).toString();
+ }
+}

Back to the top