Class BundleClassFinder
java.lang.Object
org.apache.xbean.osgi.bundle.util.BundleClassFinder
- Direct Known Subclasses:
BundleAssignableClassFinder
Finds all available classes to a bundle by scanning Bundle-ClassPath,
Import-Package, and Require-Bundle headers of the given bundle and its fragments.
DynamicImport-Package header is not considered during scanning.
- Version:
- $Rev: 1160131 $ $Date: 2011-08-22 09:07:20 +0200 (Mon, 22 Aug 2011) $
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic class
static class
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected org.osgi.framework.Bundle
protected ClassDiscoveryFilter
protected static final String
static final ClassDiscoveryFilter
static final ClassDiscoveryFilter
protected org.osgi.service.packageadmin.PackageAdmin
protected static final String
-
Constructor Summary
ConstructorsConstructorDescriptionBundleClassFinder
(org.osgi.service.packageadmin.PackageAdmin packageAdmin, org.osgi.framework.Bundle bundle) BundleClassFinder
(org.osgi.service.packageadmin.PackageAdmin packageAdmin, org.osgi.framework.Bundle bundle, ClassDiscoveryFilter discoveryFilter) -
Method Summary
Modifier and TypeMethodDescriptionprotected String
protected BundleClassFinder
createSubBundleClassFinder
(org.osgi.service.packageadmin.PackageAdmin packageAdmin, org.osgi.framework.Bundle bundle, ClassDiscoveryFilter classDiscoveryFilter) find()
Finds all available classes to the bundle.protected boolean
isClassAcceptable
(String name, InputStream in) protected boolean
isClassAcceptable
(URL url) protected org.osgi.framework.Bundle
isWired
(org.osgi.framework.Bundle bundle, org.osgi.service.packageadmin.ExportedPackage[] exports) protected org.osgi.framework.Bundle
isWired
(org.osgi.framework.Bundle bundle, org.osgi.service.packageadmin.RequiredBundle[] requiredBundles) loadClasses
(Set<String> classes) protected String
toJavaStyleClassName
(String name) protected String
toJavaStylePackageName
(String className) Get the normal Java style package name from the parameter className.
-
Field Details
-
FULL_CLASS_DISCOVERY_FILTER
-
IMPORTED_PACKAGE_EXCLUSIVE_FILTER
-
EXT
- See Also:
-
PATTERN
- See Also:
-
bundle
protected org.osgi.framework.Bundle bundle -
packageAdmin
protected org.osgi.service.packageadmin.PackageAdmin packageAdmin -
discoveryFilter
-
-
Constructor Details
-
BundleClassFinder
public BundleClassFinder(org.osgi.service.packageadmin.PackageAdmin packageAdmin, org.osgi.framework.Bundle bundle) -
BundleClassFinder
public BundleClassFinder(org.osgi.service.packageadmin.PackageAdmin packageAdmin, org.osgi.framework.Bundle bundle, ClassDiscoveryFilter discoveryFilter)
-
-
Method Details
-
loadClasses
-
find
Finds all available classes to the bundle. Some of the classes in the returned set might not be loadable.- Returns:
- classes visible to the bundle. Not all classes returned might be loadable.
-
isClassAcceptable
- Throws:
IOException
-
isClassAcceptable
-
createSubBundleClassFinder
protected BundleClassFinder createSubBundleClassFinder(org.osgi.service.packageadmin.PackageAdmin packageAdmin, org.osgi.framework.Bundle bundle, ClassDiscoveryFilter classDiscoveryFilter) -
toJavaStyleClassName
-
toJavaStylePackageName
Get the normal Java style package name from the parameter className. If the className is ended with .class extension, e.g. /org/apache/geronimo/TestCass.class or org.apache.geronimo.TestClass.class, then org/apache/geronimo is returned If the className is not ended with .class extension, e.g. /org/apache/geronimo/TestCass or org.apache.geronimo.TestClass, then org/apache/geronimo is returned- Returns:
- Normal Java style package name, should be like org.apache.geronimo
-
addSlash
-
isWired
protected org.osgi.framework.Bundle isWired(org.osgi.framework.Bundle bundle, org.osgi.service.packageadmin.ExportedPackage[] exports) -
isWired
protected org.osgi.framework.Bundle isWired(org.osgi.framework.Bundle bundle, org.osgi.service.packageadmin.RequiredBundle[] requiredBundles)
-