import java.io.Serializable;
import java.util.Collection;
import org.eclipse.jdt.annotation.NonNull;
-import org.opendaylight.yangtools.concepts.Builder;
+import org.opendaylight.yangtools.concepts.Mutable;
/**
* A builder for creating RpcResult instances.
*
* @param <T> the result value type
*/
-public final class RpcResultBuilder<T> implements Builder<RpcResult<T>> {
+public final class RpcResultBuilder<T> implements Mutable {
private static class RpcResultImpl<T> implements RpcResult<T>, Serializable {
private static final long serialVersionUID = 1L;
return new RpcResultBuilder<>(true, result);
}
- /**
- * Returns a builder for a successful result.
- *
- * @param builder builder for the result value
- */
- public static <T> @NonNull RpcResultBuilder<T> success(final Builder<T> builder) {
- return success(builder.build());
- }
-
/**
* Returns a builder for a failed result.
*/
return this;
}
- /**
- * Sets the value of the result.
- *
- * @param builder builder for the result value
- */
- public @NonNull RpcResultBuilder<T> withResult(final Builder<T> builder) {
- return withResult(builder.build());
- }
-
private void addError(final ErrorSeverity severity, final ErrorType errorType, final ErrorTag tag,
final String message, final String applicationTag, final String info, final Throwable cause) {
addError(new RpcErrorImpl(severity, errorType, tag != null ? tag : ErrorTag.OPERATION_FAILED, message,
return this;
}
- @Override
- public RpcResult<T> build() {
+ /**
+ * Build the resulting {@link RpcResult}.
+ *
+ * @return An RpcResult instance
+ */
+ public @NonNull RpcResult<T> build() {
return new RpcResultImpl<>(successful, result, errors != null ? errors.build() : ImmutableList.of());
}
"info", null);
rpcResultBuilder.withRpcError(rpcErrorShort);
final RpcResult<Object> rpcResult = rpcResultBuilder.build();
- final RpcResultBuilder<RpcResult<Object>> rpcResultRpcResultBuilder1 = RpcResultBuilder.success(
- rpcResultBuilder);
- final RpcResultBuilder<RpcResult<Object>> rpcResultRpcResultBuilder2 = rpcResultRpcResultBuilder1.withResult(
- rpcResultBuilder);
assertEquals(rpcErrorShort.getErrorType(), rpcErrorShortWarn.getErrorType());
assertEquals(rpcErrorLong.getErrorType(), rpcErrorLongWarn.getErrorType());
- assertEquals(rpcResultRpcResultBuilder1, rpcResultRpcResultBuilder2);
assertNotNull(rpcResultBuilder.buildFuture());
assertEquals("RpcResult [successful=true, result=null, errors=[RpcError [message=msg, severity=ERROR, "
+ "errorType=RPC, tag=tag, applicationTag=null, info=null, cause=null]]]", rpcResult.toString());