Updating to NBMs from NetBeans 8.0.1 as some of them are required to run on JDK8
1 package org.apidesign.stateful.api;
3 /** API for notifying progress that cannot call
4 * {@link #start(int)} and {@link InProgress#progress(int)} in wrong
5 * order. In contract to {@link ProgressStateful} class which allows that.
7 * @author Jaroslav Tulach <jtulach@netbeans.org>
9 public abstract class ProgressStateless {
10 // BEGIN: progress.phases
11 public static ProgressStateless create(String name) {
12 return createImpl(name);
14 public abstract InProgress start(int totalAmount);
16 public abstract class InProgress {
17 public abstract void progress(int howMuch);
18 public abstract void finish();
19 // FINISH: progress.phases
29 private static ProgressStateless createImpl(String name) {
30 return new Impl(name);
33 private static final class Impl extends ProgressStateless {
34 private final String name;
36 public Impl(String name) {
41 public InProgress start(int totalAmount) {
42 return new InImpl(totalAmount);
45 private class InImpl extends InProgress {
46 private final int total;
49 public InImpl(int total) {
54 public void progress(int howMuch) {
59 public void finish() {