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>
* 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 <ttkacik@cisco.com>
* @author Tony Tkacik <ttkacik@cisco.com>
+ * @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();
* 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