Package org.apache.xbean.finder
Class BundleAssignableClassFinder
- java.lang.Object
-
- org.apache.xbean.osgi.bundle.util.BundleClassFinder
-
- org.apache.xbean.finder.BundleAssignableClassFinder
-
public class BundleAssignableClassFinder extends BundleClassFinder
- 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
Constructors Constructor Description BundleAssignableClassFinder(org.osgi.service.packageadmin.PackageAdmin packageAdmin, java.lang.Class<?>[] clses, org.osgi.framework.Bundle bundle)
BundleAssignableClassFinder(org.osgi.service.packageadmin.PackageAdmin packageAdmin, org.osgi.framework.Bundle bundle, java.lang.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
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected BundleClassFinder
createSubBundleClassFinder(org.osgi.service.packageadmin.PackageAdmin packageAdmin, org.osgi.framework.Bundle bundle, ClassDiscoveryFilter classDiscoveryFilter)
protected boolean
isClassAcceptable(java.lang.String name, java.io.InputStream in)
protected boolean
isClassAcceptable(java.net.URL url)
protected java.lang.String
toASMStylePackageName(java.lang.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 Detail
-
BundleAssignableClassFinder
public BundleAssignableClassFinder(org.osgi.service.packageadmin.PackageAdmin packageAdmin, org.osgi.framework.Bundle bundle, java.lang.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, java.lang.Class<?>[] clses, org.osgi.framework.Bundle bundle)
-
-
Method Detail
-
createSubBundleClassFinder
protected BundleClassFinder createSubBundleClassFinder(org.osgi.service.packageadmin.PackageAdmin packageAdmin, org.osgi.framework.Bundle bundle, ClassDiscoveryFilter classDiscoveryFilter)
- Overrides:
createSubBundleClassFinder
in classBundleClassFinder
-
isClassAcceptable
protected boolean isClassAcceptable(java.lang.String name, java.io.InputStream in) throws java.io.IOException
- Overrides:
isClassAcceptable
in classBundleClassFinder
- Throws:
java.io.IOException
-
isClassAcceptable
protected boolean isClassAcceptable(java.net.URL url)
- Overrides:
isClassAcceptable
in classBundleClassFinder
-
toASMStylePackageName
protected java.lang.String toASMStylePackageName(java.lang.String className)
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"
-
-