|
JanosVM v0.6.0 Java 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 importables associated with a single exportable. Each ExportManager is associated with exactly one Exportable. An exportable may have multiple ExportManagers (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()
|
(package private) Exportable |
getExport()
|
(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.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()
|
JanosVM v0.6.0 Java API | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |