Annotation Type FlowMethod

public @interface FlowMethod

Marks a method to execute in the context of a Flow. The method will be a flow-method, which enables functionality of flow-specific utilities such as Flow.fork(int), Flow.suspend(), ThreadFreeLock and others.

Flow-methods keep track of all local and temporary variables, and invocation point of other flow-methods. These are reasonably costly operations. Hence it's not recommended to use this annotation in CPU-intense routines, unless one can concentrate intense CPU usage into normal methods invoked by the desired flow-methods.

NOTE TO NEW USERS: To work as expected, a flow-method must have its bytecode enhanced. This can be done by the Lightwolf Eclipse Plug-in. For more information, please check You can also use the LightWolfAntTask to enhance bytecode.

Fernando Colombo
See Also:

Optional Element Summary
 boolean manual
          Determines weather this flow method will be manually or automatically enhanced.


public abstract boolean manual
Determines weather this flow method will be manually or automatically enhanced. The default value is false, which indicates that the method will be automatically enhanced by the Lightwolf Builder or LightWolfAntTask. If true is assigned to this attribute, the method's bytecode will not be touched, and hence no Flow utility will be available. The true value is reserved for internal use of Lightwolf utilities.

This attribute might change or even be removed in the future. Hence explicit use of this attribute is not recommended.