edu.mit.csail.aeolus.api
Class AeolusBox<T extends java.io.Serializable>
java.lang.Object
edu.mit.csail.aeolus.api.AeolusShared
edu.mit.csail.aeolus.api.AeolusBox<T>
- Type Parameters:
T
-
- All Implemented Interfaces:
- AeolusSafe
public final class AeolusBox<T extends java.io.Serializable>
- extends AeolusShared
This class is used to create share-able objects in Aeolus.
These objects will propagate changes between threads in Aeolus.
Trying to serialize these objects will cause an exception, leave serialization
of these objects to the Aeolus runtime.
Constructor Summary |
AeolusBox(AeolusLabel objSLabel,
AeolusLabel objILabel,
T o)
Construct an AeolusBox with the specified labels and a copy of o for the contents. |
AeolusBox(T o)
Construct an AeolusBox with the current thread's labels and a copy of o for the contents. |
Method Summary |
T |
get()
The get method returns a copy of the object in the AeolusBox |
void |
put(T o)
The put method puts a copy of the argument object into the AeolusBox |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
AeolusBox
public AeolusBox(AeolusLabel objSLabel,
AeolusLabel objILabel,
T o)
throws InfoFlowControlException
- Construct an AeolusBox with the specified labels and a copy of o for the contents.
- Throws:
InfoFlowControlException
- - if thread's labels are more constraining than those provided.
AeolusBox
public AeolusBox(T o)
- Construct an AeolusBox with the current thread's labels and a copy of o for the contents.
get
public T get()
throws InfoFlowControlException
- The get method returns a copy of the object in the AeolusBox
- Throws:
InfoFlowControlException
- - if thread's labels don't allow the read
put
public void put(T o)
throws InfoFlowControlException
- The put method puts a copy of the argument object into the AeolusBox
- Throws:
InfoFlowControlException
- - if thread's labels don't allow the write