org.apache.xbean.finder
Class BundleAssignableClassFinder

java.lang.Object
  extended by org.apache.xbean.osgi.bundle.util.BundleClassFinder
      extended by org.apache.xbean.finder.BundleAssignableClassFinder

public class BundleAssignableClassFinder
extends org.apache.xbean.osgi.bundle.util.BundleClassFinder

Version:
$Rev: 1326452 $ $Date: 2012-04-15 17:24:14 -0700 (Sun, 15 Apr 2012) $

Nested Class Summary
 
Nested classes/interfaces inherited from class org.apache.xbean.osgi.bundle.util.BundleClassFinder
org.apache.xbean.osgi.bundle.util.BundleClassFinder.DummyDiscoveryFilter, org.apache.xbean.osgi.bundle.util.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
BundleAssignableClassFinder(org.osgi.service.packageadmin.PackageAdmin packageAdmin, org.osgi.framework.Bundle bundle, Class<?>[] clses, org.apache.xbean.osgi.bundle.util.ClassDiscoveryFilter discoveryFilter)
          Create a new BundleClassFinder, it will search all the classes based the rule defined by the parameters via ASM tool
BundleAssignableClassFinder(org.osgi.service.packageadmin.PackageAdmin packageAdmin, Class<?>[] clses, org.osgi.framework.Bundle bundle)
           
 
Method Summary
protected  org.apache.xbean.osgi.bundle.util.BundleClassFinder createSubBundleClassFinder(org.osgi.service.packageadmin.PackageAdmin packageAdmin, org.osgi.framework.Bundle bundle, org.apache.xbean.osgi.bundle.util.ClassDiscoveryFilter classDiscoveryFilter)
           
protected  boolean isClassAcceptable(String name, InputStream in)
           
protected  boolean isClassAcceptable(URL url)
           
protected  String toASMStylePackageName(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
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

BundleAssignableClassFinder

public BundleAssignableClassFinder(org.osgi.service.packageadmin.PackageAdmin packageAdmin,
                                   org.osgi.framework.Bundle bundle,
                                   Class<?>[] clses,
                                   org.apache.xbean.osgi.bundle.util.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 Detail

createSubBundleClassFinder

protected org.apache.xbean.osgi.bundle.util.BundleClassFinder createSubBundleClassFinder(org.osgi.service.packageadmin.PackageAdmin packageAdmin,
                                                                                         org.osgi.framework.Bundle bundle,
                                                                                         org.apache.xbean.osgi.bundle.util.ClassDiscoveryFilter classDiscoveryFilter)
Overrides:
createSubBundleClassFinder in class org.apache.xbean.osgi.bundle.util.BundleClassFinder

isClassAcceptable

protected boolean isClassAcceptable(String name,
                                    InputStream in)
                             throws IOException
Overrides:
isClassAcceptable in class org.apache.xbean.osgi.bundle.util.BundleClassFinder
Throws:
IOException

isClassAcceptable

protected boolean isClassAcceptable(URL url)
Overrides:
isClassAcceptable in class org.apache.xbean.osgi.bundle.util.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"


Copyright © 1999-2012 The Apache Software Foundation. All Rights Reserved.