JanosVM v0.6.0 Java API

## edu.utah.janosvm.sys
Class PortAuthority

    java.lang.Object
      |
      +--edu.utah.janosvm.sys.PortAuthority

public final class PortAuthority
extends java.lang.Object

Manages the imports and exports of a team.

Constructor Summary
`PortAuthority()`

Method Summary
`void` `cancelImport(Importable im)` Break the reference of the given Importable.
`ExportManager` `exportAnonymousObject(Exportable ex)` Export an object without a public identifier.
`ExportManager` `exportObject(java.lang.Object id, Exportable ex)` Export an object with the given identifier.
`void` `importObject(Importable to, TeamHandle from, java.lang.Object id)` Import a publicly available object from another team.
`ExportManager` `reserveExportID(java.lang.Object id)` Attempt to reserve an exported identifier for future use.
`void` `revokeAnonymousObject(Exportable ex)` Revoke an anonymously exported object.
`void` `revokeObject(java.lang.Object id)` Revoke access to the export with given identifier.
`java.lang.String` `toString()`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Constructor Detail

### PortAuthority

    public PortAuthority()

Method Detail

### reserveExportID

    public ExportManager reserveExportID(java.lang.Object id)
                                  throws DuplicateExportException

  Attempt to reserve an exported identifier for future use. This is useful if you want to delay the construction of the Exportable object until you're sure that the identifier is available.
  Parameters:
    `id` - The identifier to reserve.
  Returns:
    An empty ExportManager that should eventually be filled in with the export.
  Throws:
    DuplicateExportException - if the `id' is already used.

### exportObject

    public ExportManager exportObject(java.lang.Object id,
                                      Exportable ex)
                               throws DuplicateExportException

  Export an object with the given identifier.
  Parameters:
    `id` - The identifier to export the object under.
    `ex` - The object to export.
  Returns:
    The ExportManager for this mapping of `id' to `ex'.
  Throws:
    DuplicateExportException - if the `id' is already used.

### revokeObject

    public void revokeObject(java.lang.Object id)
                      throws NoSuchExportException

  Revoke access to the export with given identifier.

  XXX rename to revokeExport()

  Parameters:
    `id` - The identifier of the export to revoke.
  Throws:
    NoSuchExportException - if there isn't an export with the given identifier in the table.

### exportAnonymousObject

    public ExportManager exportAnonymousObject(Exportable ex)

  Export an object without a public identifier.
  Parameters:
    `ex` - The object to export.
  Returns:
    The ExportManager for the newly exported object.

### revokeAnonymousObject

    public void revokeAnonymousObject(Exportable ex)
                               throws NoSuchExportException

  Revoke an anonymously exported object.
  Parameters:
    `ex` - The object to revoke access to.
  Throws:
    NoSuchExportException - if the given object isn't in the export table.

### importObject

    public void importObject(Importable to,
                             TeamHandle from,
                             java.lang.Object id)
                      throws DeadTeamException,
                             TeamEjectionException,
                             NoSuchExportException

  Import a publicly available object from another team.
  Parameters:
    `to` - The Importable that should be set to reference the export.
    `from` - Reference to the team to import the object from.
    `id` - The identifier of the object to import from the given team.
  Throws:
    DeadTeamException - if the team couldn't be reached.
    TeamEjectionException - if the thread was thrown out of the team during processing.
    NoSuchExportException - if the object doesn't exist in the other team.

### cancelImport

    public void cancelImport(Importable im)

  Break the reference of the given Importable.
  Parameters:
    `im` - The Importable that should have its reference cleared.

### toString

    public java.lang.String toString()

  Overrides:
    toString in class java.lang.Object

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