@@ -44,10 +44,11 @@ public class ExecutionResult {
4444 private final Boolean successAll ;
4545
4646 /**
47- * Records an initial execution result where {@code success} is set to true if {@code failure} is not null.
47+ * Records an initial execution result with {@code complete} true and {@code success} set to true if {@code failure}
48+ * is not null.
4849 */
4950 public ExecutionResult (Object result , Throwable failure ) {
50- this (result , failure , false , 0 , false , failure == null , failure == null );
51+ this (result , failure , false , 0 , true , failure == null , failure == null );
5152 }
5253
5354 private ExecutionResult (Object result , Throwable failure , boolean nonResult , long waitNanos , boolean complete ,
@@ -62,14 +63,14 @@ private ExecutionResult(Object result, Throwable failure, boolean nonResult, lon
6263 }
6364
6465 /**
65- * Returns a an ExecutionResult with the {@code result} set, {@code completed } true and {@code success} true.
66+ * Returns a an ExecutionResult with the {@code result} set, {@code complete } true and {@code success} true.
6667 */
6768 public static ExecutionResult success (Object result ) {
68- return new ExecutionResult (result , null );
69+ return new ExecutionResult (result , null , false , 0 , true , true , true );
6970 }
7071
7172 /**
72- * Returns a an ExecutionResult with the {@code failure} set, {@code completed } true and {@code success} false.
73+ * Returns a an ExecutionResult with the {@code failure} set, {@code complete } true and {@code success} false.
7374 */
7475 public static ExecutionResult failure (Throwable failure ) {
7576 return new ExecutionResult (null , failure , false , 0 , true , false , false );
@@ -100,8 +101,8 @@ public boolean isSuccess() {
100101 }
101102
102103 /**
103- * Returns a copy of the ExecutionResult with a non-result, and completed and success set to true. Returns {@code
104- * this} if {@link #success} and {@link #result} are unchanged.
104+ * Returns a copy of the ExecutionResult with a non-result, and complete and success set to true. Returns {@code this}
105+ * if {@link #success} and {@link #result} are unchanged.
105106 */
106107 ExecutionResult withNonResult () {
107108 return success && this .result == null && nonResult ?
@@ -110,30 +111,38 @@ ExecutionResult withNonResult() {
110111 }
111112
112113 /**
113- * Returns a copy of the ExecutionResult with the {@code result} value, and completed and success set to true. Returns
114+ * Returns a copy of the ExecutionResult with the {@code result} value, and complete and success set to true. Returns
114115 * {@code this} if {@link #success} and {@link #result} are unchanged.
115116 */
116117 public ExecutionResult withResult (Object result ) {
117118 return success && ((this .result == null && result == null ) || (this .result != null && this .result .equals (result ))) ?
118119 this :
119120 new ExecutionResult (result , null , nonResult , waitNanos , true , true , successAll );
120121 }
122+
123+ /**
124+ * Returns a copy of the ExecutionResult with {@code complete} set to false, else this if nothing has changed.
125+ */
126+ ExecutionResult withNotComplete () {
127+ return !this .complete ?
128+ this :
129+ new ExecutionResult (result , failure , nonResult , waitNanos , false , success , successAll );
130+ }
121131
122132 /**
123- * Returns a copy of the ExecutionResult with the value set to true, else this if nothing has changed .
133+ * Returns a copy of the ExecutionResult with success value of {code false} .
124134 */
125- public ExecutionResult withComplete () {
126- return this .complete ? this : new ExecutionResult (result , failure , nonResult , waitNanos , true , success , successAll );
135+ ExecutionResult withFailure () {
136+ return ! this .success ? this : new ExecutionResult (result , failure , nonResult , waitNanos , complete , false , false );
127137 }
128138
129139 /**
130- * Returns a copy of the ExecutionResult with the {@code completed } and {@code success} values.
140+ * Returns a copy of the ExecutionResult with the {@code complete } and {@code success} values of {@code true} .
131141 */
132- ExecutionResult with ( boolean completed , boolean success ) {
133- return this .complete == completed && this .success == success ?
142+ ExecutionResult withSuccess ( ) {
143+ return this .complete && this .success ?
134144 this :
135- new ExecutionResult (result , failure , nonResult , waitNanos , completed , success ,
136- successAll == null ? success : success && successAll );
145+ new ExecutionResult (result , failure , nonResult , waitNanos , true , true , successAll );
137146 }
138147
139148 /**
@@ -146,12 +155,12 @@ public ExecutionResult withWaitNanos(long waitNanos) {
146155 }
147156
148157 /**
149- * Returns a copy of the ExecutionResult with the {@code waitNanos}, {@code completed } and {@code success} values.
158+ * Returns a copy of the ExecutionResult with the {@code waitNanos}, {@code complete } and {@code success} values.
150159 */
151- public ExecutionResult with (long waitNanos , boolean completed , boolean success ) {
152- return this .waitNanos == waitNanos && this .complete == completed && this .success == success ?
160+ public ExecutionResult with (long waitNanos , boolean complete , boolean success ) {
161+ return this .waitNanos == waitNanos && this .complete == complete && this .success == success ?
153162 this :
154- new ExecutionResult (result , failure , nonResult , waitNanos , completed , success ,
163+ new ExecutionResult (result , failure , nonResult , waitNanos , complete , success ,
155164 successAll == null ? success : success && successAll );
156165 }
157166
0 commit comments