JanosVM v0.6.0 Java API

## Package edu.utah.janosvm.resources

Resources managed by the JanosVM on a per-team basis.

See:
Description

Class Summary
ClassPathResource: Provides access methods to the current team's class path.
ClassPathSpec: Specification for the class path resource.
ConfigSpec
GCPolicy: Base class for objects that implement a specific policy for the GC.
MemoryResource: Provides java level access to the current team's memory resource.
MemorySpec: Specification for memory resources.
NameSpaceGroup: Helper class for NameSpaceSpec that specifies which class groups to import from a team.
NameSpaceResource: Provides access methods to the current team's root name space.
NameSpaceSpec: Resource specification for the root name space of a team.
NativeSpec: Specification for the native library resource.
ResourceSpec: Base class for resource specifications.
StdioSpec: Resource specification for the standard I/O channels for a Team.

Exception Summary
ClassGroupNotFoundException: Exception indicating that the class group couldn't be found in the config file.
DuplicateResourceSpecException: Exception indicating that there was a duplicate resource spec in the array of ResourceSpec's passed to Team.create().
InvalidClassGroupException: Exception indicating that the class group being exported is malformed.
ResourceSpecException: Exception indicating that the system couldn't satisfy a resource specification.

## Package edu.utah.janosvm.resources Description

Resources managed by the JanosVM on a per-team basis. Managed resources are:

- Classpath - The parts of the global class path that a team is able to access.
- Memory - The amount of memory available to the team and the policy for the GC.
- Namespace - The namespace for the java code running in the team. This works similarly to a standard VM, class loaders have their own name spaces that are separate from each other and classes loaded into the team can't be seen by other teams. However, in order for teams to communicate they'll need to be able to share classes, so the name space resource allows teams to export groups of classes from their name space so that other teams can import these classes into their root name space.
- Stdio - The source/sink for the System.in, System.out, and System.err I/O streams. When running the VM on unix these can just piggy back the stdio values for the VM, or they can be redirected to their own files.

For each resource a specification and a client object exist. The specification is the object that communicates what is required from the resource when creating a new team. For example, creating a team with the spec, `new MemorySpec(8 * 1024 * 1024)`, would give the new team an eight megabyte memory limit. The client object is the object held by the team that gives it access to the resource. In the case of global resources like memory, the client object is manipulated through static methods in the corresponding resource class, for example, `MemoryResource`.

JanosVM v0.6.0 Java API

This documentation is Copyright (C) 2000-2002 The University of Utah. All Rights Reserved. See the documentation license for distribution terms and restrictions.
Documentation, software, and mailing lists for the JanosVM can be found at the Janos Project web page: http://www.cs.utah.edu/flux/janos/
Generated on Mar 17, 2002