JanosVM v0.6.0 Java API Documentation: Package edu.utah.janosvm.resources
JanosVM v0.6.0 Java API

Package edu.utah.janosvm.resources

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


Class Summary
ClassPathResource Provides access methods to the current team's class path.
ClassPathSpec Specification for the class path resource.
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.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:
    Generated on Mar 17, 2002