Oracle® Fusion Middleware C++ API Reference for Oracle Coherence
12c (12.2.1.3.0)

E80355-01

SystemClassLoader Class Reference

#include <coherence/lang/SystemClassLoader.hpp>

Inherits Object, and ClassLoader.

List of all members.


Detailed Description

SystemClassLoader is a ClassLoader implementation based on registration only.

That is it does not "load" any classes, it only knows about those which have been registered with it.

Author:
mf 2008.04.03

Public Types

typedef spec::Handle Handle
 SystemClassLoader Handle definition.
typedef spec::View View
 SystemClassLoader View definition.
typedef spec::Holder Holder
 SystemClassLoader Holder definition.

Public Member Functions

virtual Class::View registerClass (Class::View vClass)
 Register a class with the SystemClassLoader.
virtual Class::View loadByName (String::View vsName) const
 Loads the class for the specified name.

Parameters:
vsName the fully qualified name of the desired class
Returns:
the resulting Class object
Exceptions:
ClassNotFoundException if the class was not found

virtual Class::View loadByType (const std::type_info &info) const
 Loads the class for the specified RTTI typeid.

Parameters:
info the class's type_info
Returns:
the resulting Class object
Exceptions:
ClassNotFoundException if the class was not found

virtual
ClassLoader::Handle 
getParent () const
 
Returns:
NULL

TypedHandle< const
String
toString () const
 Output a human-readable description of this Object to the given stream.

Note that when overriding this method the return type must be TypedHandle<const String> rather then String::View. These two types are assignment compatible but not equivalent and declaring the override with String::View will not be a compatible override.

coherence::lang::operator<<(std::ostream, Object::View) is defined and will call into the toString method, to output Objects. If a managed String object is desired, the COH_TO_STRING macro can be used to build up a String from streamable contents and is generally how toString() will be implemented.

 Object::View vKey   = ...
 Object::View vValue = ...
 std::cout << vKey << " = " << vValue << std::endl;

 String::View vs = COH_TO_STRING(vKey << " = " << vValue);

The COH_TO_STRING macro is also the most common way to implement the toString method. For example:

 virtual TypedHandle<const String> Person::toString() const
     {
     return COH_TO_STRING("Name: " << f_sName << " SSN: " << f_nSSN);
     }

Returns:
a string representation of this object


Static Public Member Functions

static
SystemClassLoader::Handle 
getInstance ()
 Return the SystemClassLoader singleton.
static void main (ObjectArray::View vasArg)
 Executable entrypoint for the SystemClassLoader class.

Member Function Documentation

virtual Class::View registerClass ( Class::View  vClass  )  [virtual]

Register a class with the SystemClassLoader.

Parameters:
vClass the Class to register
Returns:
the registered class
Exceptions:
IllegalArgumentException if a Class of the same name has already been registered

static SystemClassLoader::Handle getInstance (  )  [static]

Return the SystemClassLoader singleton.

Returns:
the SystemClassLoader

static void main ( ObjectArray::View  vasArg  )  [static]

Executable entrypoint for the SystemClassLoader class.

Print the loaded classes.

Parameters:
vasArg a list of libraries to load, and print their registered classes.


The documentation for this class was generated from the following file:
Copyright © 2000, 2017, Oracle and/or its affiliates. All rights reserved.