diff options
Diffstat (limited to 'rba.tool.editor.ui/src/rba/tool/editor/ui/util/concurrent/IUnitOfProgress.java')
-rw-r--r-- | rba.tool.editor.ui/src/rba/tool/editor/ui/util/concurrent/IUnitOfProgress.java | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/rba.tool.editor.ui/src/rba/tool/editor/ui/util/concurrent/IUnitOfProgress.java b/rba.tool.editor.ui/src/rba/tool/editor/ui/util/concurrent/IUnitOfProgress.java new file mode 100644 index 0000000..f7141b1 --- /dev/null +++ b/rba.tool.editor.ui/src/rba/tool/editor/ui/util/concurrent/IUnitOfProgress.java @@ -0,0 +1,18 @@ +package rba.tool.editor.ui.util.concurrent; + +public interface IUnitOfProgress<R, P> { + + public static final Object FAMILY_UNIT_OF_PROGRESS = new Object(); + + R exec(P state) throws Exception; + + public static abstract class Void<T> implements IUnitOfProgress<Object, T> { + @Override + public final Object exec(T state) throws Exception { + process(state); + return null; + } + + public abstract void process(T state) throws Exception; + } +} |