Improved RPCResultBuilder to have convenience methods that take Builders
[yangtools.git] / yang / yang-common / src / main / java / org / opendaylight / yangtools / yang / common / RpcResultBuilder.java
index 19517e3c559134fbdb5944dcd602f4af1446a76e..47a64eac793719d53ee41035d7b8dbbe03f0fc5e 100644 (file)
@@ -152,6 +152,15 @@ public final class RpcResultBuilder<T> implements Builder<RpcResult<T>> {
          return new RpcResultBuilder<T>( true, result );
     }
 
+    /**
+     * Returns a builder for a successful result.
+     *
+     * @param builder builder for the result value
+     */
+    public static <T> RpcResultBuilder<T> success( final Builder<T> builder ) {
+        return success(builder.build());
+    }
+
     /**
      * Returns a builder for a failed result.
      */
@@ -257,6 +266,15 @@ public final class RpcResultBuilder<T> implements Builder<RpcResult<T>> {
         return this;
     }
 
+    /**
+     * Sets the value of the result.
+     *
+     * @param builder builder for the result value
+     */
+    public RpcResultBuilder<T> withResult( final Builder<T> builder ) {
+        return withResult(builder.build());
+    }
+
     private void addError( final ErrorSeverity severity, final ErrorType errorType,
             final String tag, final String message, final String applicationTag, final String info,
             final Throwable cause ) {