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) $
  • 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:
      createSubBundleClassFinder in class BundleClassFinder
    • isClassAcceptable

      protected boolean isClassAcceptable(String name, InputStream in) throws IOException
      Overrides:
      isClassAcceptable in class BundleClassFinder
      Throws:
      IOException
    • isClassAcceptable

      protected boolean isClassAcceptable(URL url)
      Overrides:
      isClassAcceptable in class BundleClassFinder
    • toASMStylePackageName

      protected String toASMStylePackageName(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"