one.world.core
Class ProtectionDomain

java.lang.Object
  |
  +--one.world.core.Domain
        |
        +--one.world.core.ProtectionDomain
All Implemented Interfaces:
Serializable

public final class ProtectionDomain
extends Domain
implements Serializable

Implementation of a protection domain.

Applications running on top of one.world are limited in what resources provided by the Java platform they can access. For example, applications are generally expected to rely on structured I/O for their storage and communication needs instead of accessing files and networking sockets directly.

In general, one.world relies on Java's platform security to limit applications' access to "forbidden" resources. This ensures that applications do not have access to such resources in the common case. At the same time, relying on Java's platform security also makes it possible to grant special access rights to applications that have a legitimate need to access such resources. For example, a web server can be granted the right to listen for and to accept TCP connections on port 80.

To ensure complete safety and security, one.world does impose the following additional restrictions on applications:

Each protection domain has its own class loader to load the application's classes. However, system classes, that is, classes in the one.world.*, one.util, and one.net packages, are loaded by the core class loader and shared between all protection domains.

When an application is unloaded, the class loader for the protection domain is recreated. As a result, when an application is reloaded into the same protection domain, the application's classes are loaded again.

When sending an event to an event handler in a different protection domain, the event is "projected" into that protection domain by using the corresponding classes of the targeted protection domain and by copying mutable data, even if the class is loaded by the core class loader.

Version:
$Revision: 1.13 $
See Also:
Serialized Form

Method Summary
protected  void finalize()
          Finalize this protection domain.
 String toString()
          Return a string representation of this protection domain.
 
Methods inherited from class one.world.core.Domain
equals, getConcurrencyDomain, getId, getProtectionDomain, hashCode, isActive, isWrapped, unwrap
 
Methods inherited from class java.lang.Object
clone, getClass, notify, notifyAll, wait, wait, wait
 

Method Detail

finalize

protected void finalize()
Finalize this protection domain.
Overrides:
finalize in class Object

toString

public String toString()
Return a string representation of this protection domain.
Overrides:
toString in class Object


(C) Copyright 2001 UW CSE