Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'bundles/org.eclipse.osgi/core/framework/org/eclipse/osgi/framework/internal/core/NullPackageSource.java')
-rw-r--r--bundles/org.eclipse.osgi/core/framework/org/eclipse/osgi/framework/internal/core/NullPackageSource.java28
1 files changed, 28 insertions, 0 deletions
diff --git a/bundles/org.eclipse.osgi/core/framework/org/eclipse/osgi/framework/internal/core/NullPackageSource.java b/bundles/org.eclipse.osgi/core/framework/org/eclipse/osgi/framework/internal/core/NullPackageSource.java
new file mode 100644
index 000000000..3a3804741
--- /dev/null
+++ b/bundles/org.eclipse.osgi/core/framework/org/eclipse/osgi/framework/internal/core/NullPackageSource.java
@@ -0,0 +1,28 @@
+package org.eclipse.osgi.framework.internal.core;
+
+/**
+ * This class is used to optimize finding provided-packages for a bundle.
+ * If the package cannot be found in a list of required bundles then this class
+ * is used to cache a null package source so that the search does not need to
+ * be done again.
+ */
+public class NullPackageSource extends PackageSource {
+ public NullPackageSource(String name) {
+ this.id = name;
+ }
+ public BundleLoaderProxy getSupplier() {
+ return null;
+ }
+ public boolean isMultivalued() {
+ return false;
+ }
+ public BundleLoaderProxy[] getSuppliers() {
+ return null;
+ }
+ public boolean isNullSource(){
+ return true;
+ }
+ public String toString() {
+ return id + " -> null";
+ }
+}

Back to the top