diff options
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.java | 28 |
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"; + } +} |