inria.meije.rc.sugarcubes
Interface JavaAction
- All Superinterfaces:
- java.io.Serializable
- All Known Implementing Classes:
- JavaNothing
- public interface JavaAction
- extends java.io.Serializable
This interface describes how to implement an atomic action in a reactive program.
While executing, SugarCubes programs often needs to do some modifications to the state of some Java objects on which it is intend to operate. Those data processing operations in SugarCubes are handled by atomic operations
.
This interface needs to be implemented by the programmer to do atomic Java actions in its reactive program.
Method Summary |
void |
execute(java.lang.Object self,
LocalVariables vars,
ReactiveEngine engine)
This method needs to be implemented by the SugarCubes programmer to perform atomic actions on Java objects. |
execute
public void execute(java.lang.Object self,
LocalVariables vars,
ReactiveEngine engine)
- This method needs to be implemented by the SugarCubes programmer to perform atomic actions on Java objects.
The first argument passed to this method when the atomic action needs to be executed by the reactive program is the java object to which the reactive program is bound. This is probably the most important argument that allows one to get a first reference to an object (the one associated by an enclosing Cube
) in the Java environment of a reactive program.
The second argument is a reference to the linked list of local variables defined in the reactive program.
The last argument is a reference to the reactive execution environment allowing special manipulations such as:
- accessing super cubes in the hierarchy of nested Cubes of a reactive program;
- adding new programs in parallel in the reactive machine (real adding is performed at the next instant).
- generation of events (performed at the next instant).
- etc.