Deprecate (Checked)Builder 21/99321/1
authorRobert Varga <robert.varga@pantheon.tech>
Mon, 17 Jan 2022 13:28:39 +0000 (14:28 +0100)
committerRobert Varga <robert.varga@pantheon.tech>
Mon, 17 Jan 2022 13:29:41 +0000 (14:29 +0100)
These interfaces are rather overarching, causing callers of build()
method to be opaque. Deprecate them so downstreams can gradually migrate
away.

JIRA: YANGTOOLS-1327
Change-Id: I204252c9175c4eeb7b960f4d073c32eaca834316
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
common/concepts/src/main/java/org/opendaylight/yangtools/concepts/Builder.java
common/concepts/src/main/java/org/opendaylight/yangtools/concepts/CheckedBuilder.java

index 4b37e0b15d1bb5ce594709d523b5ffbefb2bb200..ad48291db05aafb3076109edff2586c87a9a545e 100644 (file)
@@ -11,9 +11,11 @@ package org.opendaylight.yangtools.concepts;
  * Builder object which produces a product.
  *
  * @param <P> Product of builder
  * Builder object which produces a product.
  *
  * @param <P> Product of builder
- *
  * @author Tony Tkacik &lt;ttkacik@cisco.com&gt;
  * @author Tony Tkacik &lt;ttkacik@cisco.com&gt;
+ * @deprecated This is an over-arching concept whose {@link #build()} method hides caller hierarchy. Users are advised
+ *             to migrate away, either without a replacement interface, or with a proper domain-specific interface.
  */
  */
+@Deprecated(since = "8.0.0")
 public interface Builder<P> extends CheckedBuilder<P, IllegalArgumentException> {
     @Override
     P build();
 public interface Builder<P> extends CheckedBuilder<P, IllegalArgumentException> {
     @Override
     P build();
index e3e46e5dd6ec5e8fb00c87dbdc9802ba01e9a334..ca5389b3cde882166a827f13b583166eb6837f0b 100644 (file)
@@ -13,7 +13,10 @@ import org.eclipse.jdt.annotation.NonNull;
  * Builder object which produces a product.
  *
  * @param <P> Product of builder
  * Builder object which produces a product.
  *
  * @param <P> Product of builder
+ * @deprecated This is an over-arching concept whose {@link #build()} method hides caller hierarchy. Users are advised
+ *             to migrate away, either without a replacement interface, or with a proper domain-specific interface.
  */
  */
+@Deprecated(since = "8.0.0")
 public interface CheckedBuilder<P, E extends Exception> extends Mutable {
     /**
      * Returns instance of the product. Multiple calls to this method are not required to return same instance if
 public interface CheckedBuilder<P, E extends Exception> extends Mutable {
     /**
      * Returns instance of the product. Multiple calls to this method are not required to return same instance if