org.codehaus.classworlds
Class DefaultClassRealm

java.lang.Object
  extended by org.codehaus.classworlds.DefaultClassRealm
All Implemented Interfaces:
ClassRealm

public class DefaultClassRealm
extends java.lang.Object
implements ClassRealm


Constructor Summary
DefaultClassRealm(ClassWorld world, java.lang.String id)
           
DefaultClassRealm(ClassWorld world, java.lang.String id, java.lang.ClassLoader foreignClassLoader)
           
 
Method Summary
 void addConstituent(java.lang.String constituent, byte[] b)
          Adds a byte[] class definition as a constituent for locating classes.
 void addConstituent(java.net.URL constituent)
           
 ClassRealm createChildRealm(java.lang.String id)
           
 void display()
           
 java.util.Enumeration findResources(java.lang.String name)
           
 java.lang.ClassLoader getClassLoader()
           
 java.net.URL[] getConstituents()
           
 java.lang.String getId()
           
 ClassRealm getParent()
           
 java.net.URL getResource(java.lang.String name)
           
 java.io.InputStream getResourceAsStream(java.lang.String name)
           
 ClassWorld getWorld()
           
 void importFrom(java.lang.String realmId, java.lang.String packageName)
           
 java.lang.Class loadClass(java.lang.String name)
           
 ClassRealm locateSourceRealm(java.lang.String classname)
           
 void setParent(ClassRealm parent)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

DefaultClassRealm

public DefaultClassRealm(ClassWorld world,
                         java.lang.String id)

DefaultClassRealm

public DefaultClassRealm(ClassWorld world,
                         java.lang.String id,
                         java.lang.ClassLoader foreignClassLoader)
Method Detail

getConstituents

public java.net.URL[] getConstituents()
Specified by:
getConstituents in interface ClassRealm

getParent

public ClassRealm getParent()
Specified by:
getParent in interface ClassRealm

setParent

public void setParent(ClassRealm parent)
Specified by:
setParent in interface ClassRealm

getId

public java.lang.String getId()
Specified by:
getId in interface ClassRealm

getWorld

public ClassWorld getWorld()
Specified by:
getWorld in interface ClassRealm

importFrom

public void importFrom(java.lang.String realmId,
                       java.lang.String packageName)
                throws NoSuchRealmException
Specified by:
importFrom in interface ClassRealm
Throws:
NoSuchRealmException

addConstituent

public void addConstituent(java.net.URL constituent)
Specified by:
addConstituent in interface ClassRealm

addConstituent

public void addConstituent(java.lang.String constituent,
                           byte[] b)
                    throws java.lang.ClassNotFoundException
Adds a byte[] class definition as a constituent for locating classes. Currently uses BytesURLStreamHandler to hold a reference of the byte[] in memory. This ensures we have a unifed URL resource model for all constituents. The code to cache to disk is commented out - maybe a property to choose which method?

Parameters:
constituent - class name
b - the class definition as a byte[]
Throws:
java.lang.ClassNotFoundException

locateSourceRealm

public ClassRealm locateSourceRealm(java.lang.String classname)
Specified by:
locateSourceRealm in interface ClassRealm

getClassLoader

public java.lang.ClassLoader getClassLoader()
Specified by:
getClassLoader in interface ClassRealm

createChildRealm

public ClassRealm createChildRealm(java.lang.String id)
                            throws DuplicateRealmException
Specified by:
createChildRealm in interface ClassRealm
Throws:
DuplicateRealmException

loadClass

public java.lang.Class loadClass(java.lang.String name)
                          throws java.lang.ClassNotFoundException
Specified by:
loadClass in interface ClassRealm
Throws:
java.lang.ClassNotFoundException

getResource

public java.net.URL getResource(java.lang.String name)
Specified by:
getResource in interface ClassRealm

getResourceAsStream

public java.io.InputStream getResourceAsStream(java.lang.String name)
Specified by:
getResourceAsStream in interface ClassRealm

findResources

public java.util.Enumeration findResources(java.lang.String name)
                                    throws java.io.IOException
Specified by:
findResources in interface ClassRealm
Throws:
java.io.IOException

display

public void display()
Specified by:
display in interface ClassRealm


Copyright © 2002-2009 Codehaus. All Rights Reserved.