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)
Class * LookupClass (const String *name)
void RemoveFromReported (const String *name)
bool InsertClass (Class *clss)
void InsertInitiatedClass (Class *clss)
Class * AllocateAndReportInstance (const Global_Env *env, Class *klass)
Class * NewClass (const Global_Env *env, const String *name)
Package * ProvidePackage (Global_Env *env, const String *class_name, const char *jar)
Class * DefineClass (Global_Env *env, const char *class_name, uint8 *bytecode, unsigned offset, unsigned length, const String **res_name=NULL)
Class * LoadClass (Global_Env *UNREF env, const String *UNREF name)
Class * LoadVerifyAndPrepareClass (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 ()
ManagedObject * GetLoader ()
ManagedObject ** GetLoaderHandle ()
const String * GetName ()
ClassLoader * GetParent ()
Package_Table * getPackageTable ()
ClassTable * GetLoadedClasses ()
ClassTable * GetInitiatedClasses ()
LoadingClasses * GetLoadingClasses ()
ReportedClasses * GetReportedClasses ()
JavaTypes * GetJavaTypes ()
void * Alloc (size_t size)
PoolManager * GetCodePool ()
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 ClassLoader * FindByObject (ManagedObject *loader)
static VMEXPORT ClassLoader * LookupLoader (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 Class * DoLoadClass (Global_Env *UNREF env, const String *UNREF name)=0
Class * StartLoadingClass (Global_Env *env, const String *className)
void RemoveLoadingClass (const String *className, LoadingClass *loading)
void SuccessLoadingClass (const String *className)
void FailedLoadingClass (const String *className)
Class * WaitDefinition (Global_Env *env, const String *className)
Class * SetupAsArray (Global_Env *env, const String *klass)

Protected Attributes

ManagedObject * m_loader
ClassLoader * m_parent
const String * m_name
Package_Table * m_package_table
ClassTable * m_loadedClasses
ClassTable * m_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
PoolManager * CodeMemoryManager

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.