org.sonatype.guice.bean.reflect
Class URLClassSpace

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

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

ClassSpace backed by a strongly-referenced ClassLoader and a URL class path.


Constructor Summary
URLClassSpace(java.lang.ClassLoader loader)
          Creates a ClassSpace backed by a ClassLoader and its default class path.
For URLClassLoaders this is their expanded Class-Path; otherwise it is empty.
URLClassSpace(java.lang.ClassLoader loader, java.net.URL[] path)
          Creates a ClassSpace backed by a ClassLoader with a custom class path.
 
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.
 java.net.URL[] getURLs()
           
 int hashCode()
           
 java.lang.Class<?> loadClass(java.lang.String name)
          Loads the named class from the surrounding class space.
 java.lang.String toString()
           
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

URLClassSpace

public URLClassSpace(java.lang.ClassLoader loader)
Creates a ClassSpace backed by a ClassLoader and its default class path.
For URLClassLoaders this is their expanded Class-Path; otherwise it is empty.

Parameters:
loader - The class loader to use when getting/finding resources

URLClassSpace

public URLClassSpace(java.lang.ClassLoader loader,
                     java.net.URL[] path)
Creates a ClassSpace backed by a ClassLoader with a custom class path.

Parameters:
loader - The class loader to use when getting resources
path - The class path to use when finding resources
See Also:
getResources(String), findEntries(String, String, boolean)
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)

getURLs

public java.net.URL[] getURLs()

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.