ClassLoader Struct Reference

#include <classloader.h>

Inheritance diagram for ClassLoader:

BootstrapClassLoader UserDefinedClassLoader List of all members.

Public Member Functions

 ClassLoader ()
virtual ~ClassLoader ()
void ClassClearInternals (Class *)
virtual bool Initialize (ManagedObject *loader=NULL)
ClassLookupClass (const String *name)
void RemoveFromReported (const String *name)
bool InsertClass (Class *clss)
void InsertInitiatedClass (Class *clss)
ClassAllocateAndReportInstance (const Global_Env *env, Class *klass)
ClassNewClass (const Global_Env *env, const String *name)
PackageProvidePackage (Global_Env *env, const String *class_name, const char *jar)
ClassDefineClass (Global_Env *env, const char *class_name, uint8 *bytecode, unsigned offset, unsigned length, const String **res_name=NULL)
ClassLoadClass (Global_Env *UNREF env, const String *UNREF name)
ClassLoadVerifyAndPrepareClass (Global_Env *env, const String *name)
virtual void ReportException (const char *exn_name, std::stringstream &message_stream)
virtual void ReportFailedClass (Class *klass, const char *exnclass, std::stringstream &exnmsg)
void ReportFailedClass (Class *klass, const jthrowable exn)
virtual void ReportFailedClass (const char *name, const char *exnclass, std::stringstream &exnmsg)
void LoadNativeLibrary (const char *name)
GenericFunctionPointer LookupNative (Method *)
void SetVerifyData (void *data)
void * GetVerifyData (void)
void Lock ()
void Unlock ()
void LockTypesCache ()
void UnlockTypesCache ()
bool IsBootstrap ()
void Mark ()
bool isMarked ()
ManagedObjectGetLoader ()
ManagedObject ** GetLoaderHandle ()
const StringGetName ()
ClassLoaderGetParent ()
Package_TablegetPackageTable ()
ClassTableGetLoadedClasses ()
ClassTableGetInitiatedClasses ()
LoadingClasses * GetLoadingClasses ()
ReportedClasses * GetReportedClasses ()
JavaTypes * GetJavaTypes ()
void * Alloc (size_t size)
PoolManagerGetCodePool ()
void * CodeAlloc (size_t size, size_t alignment, Code_Allocation_Action action)
void * VTableAlloc (size_t size, size_t alignment, Code_Allocation_Action action)

Static Public Member Functions

static void LockLoadersTable ()
static void UnlockLoadersTable ()
static ClassLoaderFindByObject (ManagedObject *loader)
static VMEXPORT ClassLoaderLookupLoader (ManagedObject *loader)
static void UnloadClassLoader (ClassLoader *loader)
static void gc_enumerate ()
static void ClearMarkBits ()
static void StartUnloading ()
static unsigned GetClassLoaderNumber ()
static ClassLoader ** GetClassLoaderTable ()
static void DeleteClassLoaderTable ()

Protected Member Functions

virtual ClassDoLoadClass (Global_Env *UNREF env, const String *UNREF name)=0
ClassStartLoadingClass (Global_Env *env, const String *className)
void RemoveLoadingClass (const String *className, LoadingClass *loading)
void SuccessLoadingClass (const String *className)
void FailedLoadingClass (const String *className)
ClassWaitDefinition (Global_Env *env, const String *className)
ClassSetupAsArray (Global_Env *env, const String *klass)

Protected Attributes

ManagedObjectm_loader
ClassLoaderm_parent
const Stringm_name
Package_Tablem_package_table
ClassTablem_loadedClasses
ClassTablem_initiatedClasses
LoadingClasses * m_loadingClasses
ReportedClasses * m_reportedClasses
JavaTypes * m_javaTypes
NativeLibraryList m_nativeLibraries
Lock_Manager m_lock
Lock_Manager m_types_cache_lock
bool m_markBit
void * m_verifyData
apr_pool_t * pool
PoolManagerCodeMemoryManager

Friends

class GlobalClassLoaderIterator
LoggerString & operator<< (LoggerString &log, LoadingClass &lc)

Classes

class  JavaTypes
struct  LoadingClass
class  LoadingClasses
class  ReportedClasses

Constructor & Destructor Documentation

ClassLoader.ClassLoader (  ) 

virtual ClassLoader.~ClassLoader (  )  [virtual]


Member Function Documentation

void ClassLoader.ClassClearInternals ( Class  ) 

virtual bool ClassLoader.Initialize ( ManagedObject loader = NULL  )  [virtual]

Reimplemented in BootstrapClassLoader.

Class* ClassLoader.LookupClass ( const String name  ) 

void ClassLoader.RemoveFromReported ( const String name  ) 

bool ClassLoader.InsertClass ( Class clss  ) 

void ClassLoader.InsertInitiatedClass ( Class clss  ) 

Class* ClassLoader.AllocateAndReportInstance ( const Global_Env env,
Class klass 
)

Class* ClassLoader.NewClass ( const Global_Env env,
const String name 
)

Package* ClassLoader.ProvidePackage ( Global_Env env,
const String class_name,
const char *  jar 
)

Class* ClassLoader.DefineClass ( Global_Env env,
const char *  class_name,
uint8 *  bytecode,
unsigned  offset,
unsigned  length,
const String **  res_name = NULL 
)

Class* ClassLoader.LoadClass ( Global_Env *UNREF  env,
const String *UNREF  name 
)

Class* ClassLoader.LoadVerifyAndPrepareClass ( Global_Env env,
const String name 
)

virtual void ClassLoader.ReportException ( const char *  exn_name,
std::stringstream &  message_stream 
) [virtual]

Reimplemented in BootstrapClassLoader.

virtual void ClassLoader.ReportFailedClass ( Class klass,
const char *  exnclass,
std::stringstream &  exnmsg 
) [virtual]

Reimplemented in BootstrapClassLoader.

void ClassLoader.ReportFailedClass ( Class klass,
const jthrowable  exn 
)

virtual void ClassLoader.ReportFailedClass ( const char *  name,
const char *  exnclass,
std::stringstream &  exnmsg 
) [virtual]

Reimplemented in BootstrapClassLoader.

void ClassLoader.LoadNativeLibrary ( const char *  name  ) 

GenericFunctionPointer ClassLoader.LookupNative ( Method  ) 

void ClassLoader.SetVerifyData ( void *  data  ) 

void* ClassLoader.GetVerifyData ( void   ) 

void ClassLoader.Lock (  ) 

void ClassLoader.Unlock (  ) 

void ClassLoader.LockTypesCache (  ) 

void ClassLoader.UnlockTypesCache (  ) 

static void ClassLoader.LockLoadersTable (  )  [static]

static void ClassLoader.UnlockLoadersTable (  )  [static]

virtual Class* ClassLoader.DoLoadClass ( Global_Env *UNREF  env,
const String *UNREF  name 
) [protected, pure virtual]

Class* ClassLoader.StartLoadingClass ( Global_Env env,
const String className 
) [protected]

void ClassLoader.RemoveLoadingClass ( const String className,
LoadingClass loading 
) [protected]

void ClassLoader.SuccessLoadingClass ( const String className  )  [protected]

void ClassLoader.FailedLoadingClass ( const String className  )  [protected]

bool ClassLoader.IsBootstrap (  ) 

void ClassLoader.Mark (  ) 

bool ClassLoader.isMarked (  ) 

ManagedObject* ClassLoader.GetLoader (  ) 

ManagedObject** ClassLoader.GetLoaderHandle (  ) 

const String* ClassLoader.GetName (  ) 

ClassLoader* ClassLoader.GetParent (  ) 

Package_Table* ClassLoader.getPackageTable (  ) 

ClassTable* ClassLoader.GetLoadedClasses (  ) 

ClassTable* ClassLoader.GetInitiatedClasses (  ) 

LoadingClasses* ClassLoader.GetLoadingClasses (  ) 

ReportedClasses* ClassLoader.GetReportedClasses (  ) 

JavaTypes* ClassLoader.GetJavaTypes (  ) 

static ClassLoader* ClassLoader.FindByObject ( ManagedObject loader  )  [static]

static VMEXPORT ClassLoader* ClassLoader.LookupLoader ( ManagedObject loader  )  [static]

static void ClassLoader.UnloadClassLoader ( ClassLoader loader  )  [static]

static void ClassLoader.gc_enumerate (  )  [static]

static void ClassLoader.ClearMarkBits (  )  [static]

static void ClassLoader.StartUnloading (  )  [static]

static unsigned ClassLoader.GetClassLoaderNumber (  )  [static]

static ClassLoader** ClassLoader.GetClassLoaderTable (  )  [static]

static void ClassLoader.DeleteClassLoaderTable (  )  [static]

void* ClassLoader.Alloc ( size_t  size  ) 

PoolManager* ClassLoader.GetCodePool (  ) 

void* ClassLoader.CodeAlloc ( size_t  size,
size_t  alignment,
Code_Allocation_Action  action 
)

void* ClassLoader.VTableAlloc ( size_t  size,
size_t  alignment,
Code_Allocation_Action  action 
)

Class* ClassLoader.WaitDefinition ( Global_Env env,
const String className 
) [protected]

Class* ClassLoader.SetupAsArray ( Global_Env env,
const String klass 
) [protected]


Friends And Related Function Documentation

friend class GlobalClassLoaderIterator [friend]

LoggerString& operator<< ( LoggerString &  log,
ClassLoader::LoadingClass lc 
) [friend]


Member Data Documentation

ManagedObject* ClassLoader.m_loader [protected]

ClassLoader* ClassLoader.m_parent [protected]

const String* ClassLoader.m_name [protected]

Package_Table* ClassLoader.m_package_table [protected]

ClassTable* ClassLoader.m_loadedClasses [protected]

ClassTable* ClassLoader.m_initiatedClasses [protected]

LoadingClasses* ClassLoader.m_loadingClasses [protected]

ReportedClasses* ClassLoader.m_reportedClasses [protected]

JavaTypes* ClassLoader.m_javaTypes [protected]

NativeLibraryList ClassLoader.m_nativeLibraries [protected]

Lock_Manager ClassLoader.m_lock [protected]

Lock_Manager ClassLoader.m_types_cache_lock [protected]

bool ClassLoader.m_markBit [protected]

void* ClassLoader.m_verifyData [protected]

apr_pool_t* ClassLoader.pool [protected]

PoolManager* ClassLoader.CodeMemoryManager [protected]


The documentation for this struct was generated from the following file:

Genereated on Tue Mar 11 19:26:00 2008 by Doxygen.

(c) Copyright 2005, 2008 The Apache Software Foundation or its licensors, as applicable.