|
JanosVM v1.0 API | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--edu.utah.janosvm.sys.ExportManager
Tracks the {@linkplain Importable importables} associated with a
single {@linkplain Exportable exportable}. Each
ExportManager
is associated with exactly one Exportable
. An
exportable may have multiple managers (if it is exported
under mutliple names, for example).
An ExportManager
tracks the links between an exported object and its
imports. This is required so that we can revoke any references when a team
dies or the export is no longer available to other teams.
Importable
,
Exportable
Inner Class Summary | |
class |
ExportManager.ImportEnumerator
The ImportEnumerator is used to traverse the list of importers of an export. |
Field Summary | |
private Exportable |
export
The object being exported. |
private List |
importers
List of objects importing our managed object. |
private TeamBackEnd |
owner
The team that owns the objects managed by this ExportManager. |
Constructor Summary | |
(package private) |
ExportManager()
Construct an empty manager. |
(package private) |
ExportManager(Exportable export)
Construct a manager that is exporting the given object. |
Method Summary | |
void |
addImporter(Importable im)
Add an Importable to the list of objects importing our export. |
(package private) void |
cancelImports()
Disconnect all of the importers of our export. |
ExportManager.ImportEnumerator |
getEnumerator()
|
Exportable |
getExport()
Get the object that this manager manages. |
(package private) TeamBackEnd |
getOwner()
|
ExportManager.ImportEnumerator |
imports()
Similar to the above except that it constructs a new ImportEnumerator and adds that to the list. |
boolean |
imports(ExportManager.ImportEnumerator ie)
Setup the given ImportEnumerator to traverse the importers list. |
(package private) boolean |
remImporter(Importable im)
Remove an importer from the list of objects importing our export. |
void |
setExport(Exportable ex)
If this manager is empty you can fill in its export with this function. |
java.lang.String |
toString()
|
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait, wait0 |
Field Detail |
private final TeamBackEnd owner
private Exportable export
private final List importers
Constructor Detail |
ExportManager(Exportable export)
export
- The exported object this object should manage.ExportManager()
Method Detail |
TeamBackEnd getOwner()
public void setExport(Exportable ex)
ex
- The exported object to be managed.Throws
- a NullPointerException if ex is null.public Exportable getExport()
public void addImporter(Importable im)
im
- The Importable that wants a reference to our export.boolean remImporter(Importable im)
im
- The Importable to remove.void cancelImports()
public ExportManager.ImportEnumerator getEnumerator()
public boolean imports(ExportManager.ImportEnumerator ie)
ie
- The ImportEnumerator that will be inserted into the importers
list.public ExportManager.ImportEnumerator imports()
public java.lang.String toString()
toString
in class java.lang.Object
|
JanosVM v1.0 API | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |