TPTP 4.1.0 Platform Project
Public API Specification

org.eclipse.hyades.execution.core.loader
Class ScopedChannelClassLoader

java.lang.Object
  extended byjava.util.Observable
      extended byorg.eclipse.hyades.execution.core.loader.ScopedChannelClassLoader

public class ScopedChannelClassLoader
extends java.util.Observable

This custom scoped class loader loads only classes for a given scope -- for all other elements, they are delegated oto the parent class loader (which means they are out-of-scope and not this classloader's responsibility). The elements in scope will be loaded using a simple protocol over the readable and writable byte channels. The scope is defined by a regular expression that will be used to match the elemnents that this classloader is responsible for loading -- unlike typical classloader delegation, this classloader will take precedence over the parent classloader and inverts the typical delegation scheme. This class loader inner classes consumer and provider are observables and observers will be notified for each class that is acted upon (in the case of consumer, this means each class that is downloaded by the server from the client, in the case of the provider, this means each class that was uploaded to the server from the client) -- the context class loaders being cached reducing uploading and downloading over the time of the client context.


Nested Class Summary
static class ScopedChannelClassLoader.Consumer
          The scoped channel class loader consumer class is used by the consumer of the classes that will be served up through the channel from the providing instance of the scoped channel class loader
static class ScopedChannelClassLoader.Provider
          The scoped channel class loader provider class is used by the provider of the classes that will be served up through the channel to the consuming instance of the scoped channel class loader
 
Constructor Summary
ScopedChannelClassLoader()
           
 
Methods inherited from class java.util.Observable
addObserver, clearChanged, countObservers, deleteObserver, deleteObservers, hasChanged, notifyObservers, notifyObservers, setChanged
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ScopedChannelClassLoader

public ScopedChannelClassLoader()

TPTP 4.1.0 Platform Project
Public API Specification