Bees v0.5.0 API

bees.core.resource
Class CapabilityHandler

java.lang.Object
  |
  +--bees.core.resource.CapabilityHandler
All Implemented Interfaces:
edu.utah.janosvm.kit.comm.jsi.JSIHandler
Direct Known Subclasses:
AccountHandler, AliasHandler, ClockHandler, EventChannelHandler, FileHandler, FileSystemRootHandler, KeyPairGeneratorHandler, LoggerHandler, MeterHandler, NetworkInterfaceHandler, NetworkServiceHandler, NodeHandler, NodeOSNeighborHandler, PasswordHandler, SecretKeyHandler, SystemClassHandler, SystemPackageHandler, VersionStringHandler

public abstract class CapabilityHandler
extends java.lang.Object
implements edu.utah.janosvm.kit.comm.jsi.JSIHandler

CapabilityHandler is a base class that implements methods needed by JSIHandler's that wish to create Capabilities.


Field Summary
protected  ObjectTree tree
          A cached pointer to the kernel's capability tree.
 
Constructor Summary
CapabilityHandler()
          Construct an empty CapabilityHandler.
 
Method Summary
abstract  java.lang.Object createCapability(edu.utah.janosvm.kit.comm.jsi.JSIMessage jm, java.lang.String name, java.lang.String comment)
          Abstract method called when the handler needs to create a capability.
abstract  java.lang.Class getCapabilityClass()
           
 void handleMessage(edu.utah.janosvm.kit.comm.jsi.JSIHandlerContext jhc, edu.utah.janosvm.kit.comm.jsi.JSIMessage jm)
           
 edu.utah.janosvm.kit.comm.jsi.JSIHandler resolveSpecifier(edu.utah.janosvm.kit.comm.jsi.JSIMessage jm, edu.utah.janosvm.kit.comm.jsi.JSIPair jp)
           
 java.lang.String toString()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface edu.utah.janosvm.kit.comm.jsi.JSIHandler
getSuites
 

Field Detail

tree

protected final ObjectTree tree
A cached pointer to the kernel's capability tree.
Constructor Detail

CapabilityHandler

public CapabilityHandler()
Construct an empty CapabilityHandler.
Method Detail

resolveSpecifier

public edu.utah.janosvm.kit.comm.jsi.JSIHandler resolveSpecifier(edu.utah.janosvm.kit.comm.jsi.JSIMessage jm,
                                                                 edu.utah.janosvm.kit.comm.jsi.JSIPair jp)
                                                          throws java.lang.Throwable
Specified by:
resolveSpecifier in interface edu.utah.janosvm.kit.comm.jsi.JSIHandler
See Also:
JSIHandler.resolveSpecifier(JSIMessage, JSIPair)

getCapabilityClass

public abstract java.lang.Class getCapabilityClass()
Returns:
The Class corresponding to the type of capability constructed by this handler.

createCapability

public abstract java.lang.Object createCapability(edu.utah.janosvm.kit.comm.jsi.JSIMessage jm,
                                                  java.lang.String name,
                                                  java.lang.String comment)
                                           throws java.lang.Throwable
Abstract method called when the handler needs to create a capability.
Parameters:
jm - The JSIMessage that contains any creation arguments.
name - The name to use when adding the capability to the kernel tree.
comment - The comment to be attached to the capability.
Returns:
The created capability or an ObjectMap if more than one was created.
Throws:
java.lang.Throwable - if anything goes wrong.

handleMessage

public void handleMessage(edu.utah.janosvm.kit.comm.jsi.JSIHandlerContext jhc,
                          edu.utah.janosvm.kit.comm.jsi.JSIMessage jm)
                   throws java.lang.Throwable
Specified by:
handleMessage in interface edu.utah.janosvm.kit.comm.jsi.JSIHandler
See Also:
JSIHandler.handleMessage(JSIHandlerContext, JSIMessage)

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object
See Also:
Object.toString()

Bees v0.5.0 API

This documentation is Copyright (C) 2002 The University of Utah. All Rights Reserved. See the individual source files for distribution terms.
Documentation, software, and mailing lists for Bees v0.5.0 can be found at the Janos Project: http://www.cs.utah.edu/flux/janos/