Package org.apache.xbean.finder
Class BundleAssignableClassFinder
java.lang.Object
org.apache.xbean.osgi.bundle.util.BundleClassFinder
org.apache.xbean.finder.BundleAssignableClassFinder
- Version:
- $Rev: 1052987 $ $Date: 2010-12-27 02:27:28 +0100 (Mon, 27 Dec 2010) $
-
Nested Class Summary
Nested classes/interfaces inherited from class org.apache.xbean.osgi.bundle.util.BundleClassFinder
BundleClassFinder.DummyDiscoveryFilter, BundleClassFinder.NonImportedPackageDiscoveryFilter -
Field Summary
Fields inherited from class org.apache.xbean.osgi.bundle.util.BundleClassFinder
bundle, discoveryFilter, EXT, FULL_CLASS_DISCOVERY_FILTER, IMPORTED_PACKAGE_EXCLUSIVE_FILTER, packageAdmin, PATTERN -
Constructor Summary
ConstructorsConstructorDescriptionBundleAssignableClassFinder(org.osgi.service.packageadmin.PackageAdmin packageAdmin, Class<?>[] clses, org.osgi.framework.Bundle bundle) BundleAssignableClassFinder(org.osgi.service.packageadmin.PackageAdmin packageAdmin, org.osgi.framework.Bundle bundle, Class<?>[] clses, ClassDiscoveryFilter discoveryFilter) Create a new BundleClassFinder, it will search all the classes based the rule defined by the parameters via ASM tool -
Method Summary
Modifier and TypeMethodDescriptionprotected BundleClassFindercreateSubBundleClassFinder(org.osgi.service.packageadmin.PackageAdmin packageAdmin, org.osgi.framework.Bundle bundle, ClassDiscoveryFilter classDiscoveryFilter) protected booleanisClassAcceptable(String name, InputStream in) protected booleanisClassAcceptable(URL url) protected StringtoASMStylePackageName(String className) Get the ASM style package name from the parameter className.Methods inherited from class org.apache.xbean.osgi.bundle.util.BundleClassFinder
addSlash, find, isWired, isWired, loadClasses, toJavaStyleClassName, toJavaStylePackageName
-
Constructor Details
-
BundleAssignableClassFinder
public BundleAssignableClassFinder(org.osgi.service.packageadmin.PackageAdmin packageAdmin, org.osgi.framework.Bundle bundle, Class<?>[] clses, ClassDiscoveryFilter discoveryFilter) Create a new BundleClassFinder, it will search all the classes based the rule defined by the parameters via ASM tool- Parameters:
packageAdmin-bundle-clses-discoveryFilter-
-
BundleAssignableClassFinder
public BundleAssignableClassFinder(org.osgi.service.packageadmin.PackageAdmin packageAdmin, Class<?>[] clses, org.osgi.framework.Bundle bundle)
-
-
Method Details
-
createSubBundleClassFinder
protected BundleClassFinder createSubBundleClassFinder(org.osgi.service.packageadmin.PackageAdmin packageAdmin, org.osgi.framework.Bundle bundle, ClassDiscoveryFilter classDiscoveryFilter) - Overrides:
createSubBundleClassFinderin classBundleClassFinder
-
isClassAcceptable
- Overrides:
isClassAcceptablein classBundleClassFinder- Throws:
IOException
-
isClassAcceptable
- Overrides:
isClassAcceptablein classBundleClassFinder
-
toASMStylePackageName
Get the ASM 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- Parameters:
className-- Returns:
- ASM style package name, should be in the format of "org/apache/geronimo"
-