org.sonatype.guice.bean.reflect
Class BundleClassSpace

java.lang.Object
  extended by org.sonatype.guice.bean.reflect.BundleClassSpace
All Implemented Interfaces:
ClassSpace

public final class BundleClassSpace
extends java.lang.Object
implements ClassSpace

ClassSpace backed by a strongly-referenced Bundle.


Constructor Summary
BundleClassSpace(org.osgi.framework.Bundle bundle)
           
 
Method Summary
 DeferredClass<?> deferLoadClass(java.lang.String name)
          Defers loading of the named class from the surrounding class space.
 boolean equals(java.lang.Object rhs)
           
 java.util.Enumeration<java.net.URL> findEntries(java.lang.String path, java.lang.String glob, boolean recurse)
          Queries local class space content for entries matching the given pattern.
 java.net.URL getResource(java.lang.String name)
          Queries the surrounding class space for the resource with the given name.
 java.util.Enumeration<java.net.URL> getResources(java.lang.String name)
          Queries the surrounding class space for all resources with the given name.
 int hashCode()
           
 java.lang.Class<?> loadClass(java.lang.String name)
          Loads the named class from the surrounding class space.
 boolean loadedClass(java.lang.Class<?> clazz)
          Determines whether the given class was loaded by this particular class space.
 java.lang.String toString()
           
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

BundleClassSpace

public BundleClassSpace(org.osgi.framework.Bundle bundle)
Method Detail

loadClass

public java.lang.Class<?> loadClass(java.lang.String name)
Description copied from interface: ClassSpace
Loads the named class from the surrounding class space.

Specified by:
loadClass in interface ClassSpace
Parameters:
name - The class name
Returns:
Class instance
See Also:
ClassLoader.loadClass(String)

deferLoadClass

public DeferredClass<?> deferLoadClass(java.lang.String name)
Description copied from interface: ClassSpace
Defers loading of the named class from the surrounding class space.

Specified by:
deferLoadClass in interface ClassSpace
Parameters:
name - The class name
Returns:
Deferred class
See Also:
ClassLoader.loadClass(String)

getResource

public java.net.URL getResource(java.lang.String name)
Description copied from interface: ClassSpace
Queries the surrounding class space for the resource with the given name.

Specified by:
getResource in interface ClassSpace
Parameters:
name - The resource name
Returns:
URL pointing to the resource; null if it wasn't found
See Also:
ClassLoader.getResource(String)

getResources

public java.util.Enumeration<java.net.URL> getResources(java.lang.String name)
Description copied from interface: ClassSpace
Queries the surrounding class space for all resources with the given name.

Specified by:
getResources in interface ClassSpace
Parameters:
name - The resource name
Returns:
Sequence of URLs, one for each matching resource
See Also:
ClassLoader.getResources(String)

findEntries

public java.util.Enumeration<java.net.URL> findEntries(java.lang.String path,
                                                       java.lang.String glob,
                                                       boolean recurse)
Description copied from interface: ClassSpace
Queries local class space content for entries matching the given pattern.

Specified by:
findEntries in interface ClassSpace
Parameters:
path - The initial search directory; for example "META-INF"
glob - The filename glob pattern; for example "*.xml"
recurse - If true recurse into sub-directories; otherwise only search initial directory
Returns:
Sequence of URLs, one for each matching entry
See Also:
Bundle.findEntries(String, String, boolean)

loadedClass

public boolean loadedClass(java.lang.Class<?> clazz)
Description copied from interface: ClassSpace
Determines whether the given class was loaded by this particular class space.

Specified by:
loadedClass in interface ClassSpace
Parameters:
clazz - The class
Returns:
true if this space loaded the class; otherwise false

hashCode

public int hashCode()
Overrides:
hashCode in class java.lang.Object

equals

public boolean equals(java.lang.Object rhs)
Overrides:
equals in class java.lang.Object

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object


Copyright © 2010-2011 Sonatype, Inc.. All Rights Reserved.