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 BundleClassFinder

Version:
$Rev: 941557 $ $Date: 2010-05-06 03:16:59 +0200 (Thu, 06 May 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
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
BundleAssignableClassFinder(org.osgi.service.packageadmin.PackageAdmin packageAdmin, java.lang.Class<?>[] clses, org.osgi.framework.Bundle bundle)
           
 
Method Summary
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
 
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,
                                   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 class BundleClassFinder

isClassAcceptable

protected boolean isClassAcceptable(java.lang.String name,
                                    java.io.InputStream in)
                             throws java.io.IOException
Overrides:
isClassAcceptable in class BundleClassFinder
Throws:
java.io.IOException

isClassAcceptable

protected boolean isClassAcceptable(java.net.URL url)
Overrides:
isClassAcceptable in class BundleClassFinder

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"


Copyright © 2005-2011. All Rights Reserved.