package detective.core.dsl; /** * This class is for internal use only, please don't use it in dsl, no test case has been written for that. * * @author James Luo * */ public interface SharedVariable<T> extends WrappedObject<T>{ /** * Represents a thread-safe single-assignment, multi-read variable. * Each instance of DataflowVariable can be read repeatedly any time using the 'val' property and assigned once * in its lifetime using the '<<' operator. Reads preceding assignment will be blocked until the value * is assigned. */ T getValue(); void setValue(T value); /** * Check if value has been set already for this expression * * @return true if bound already */ boolean isBound(); }