From: Robert Varga Date: Mon, 17 Jan 2022 19:32:42 +0000 (+0100) Subject: Disconnect DataTreeConfiguration.Builder X-Git-Tag: v8.0.0~74 X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=yangtools.git;a=commitdiff_plain;h=4321ee152a072801abb23e3f5de377c130be80e3 Disconnect DataTreeConfiguration.Builder concepts.Builder is being removed, make sure we do not use it for DataTreeConfiguration. JIRA: YANGTOOLS-1328 Change-Id: Ifdfba8436fb8207e9fa56f20774d7265ebced818 Signed-off-by: Robert Varga --- diff --git a/data/yang-data-tree-api/src/main/java/org/opendaylight/yangtools/yang/data/tree/api/DataTreeConfiguration.java b/data/yang-data-tree-api/src/main/java/org/opendaylight/yangtools/yang/data/tree/api/DataTreeConfiguration.java index 21d2bc890a..6fc4ee3382 100644 --- a/data/yang-data-tree-api/src/main/java/org/opendaylight/yangtools/yang/data/tree/api/DataTreeConfiguration.java +++ b/data/yang-data-tree-api/src/main/java/org/opendaylight/yangtools/yang/data/tree/api/DataTreeConfiguration.java @@ -13,6 +13,7 @@ import com.google.common.annotations.Beta; import com.google.common.base.MoreObjects; import org.eclipse.jdt.annotation.NonNull; import org.opendaylight.yangtools.concepts.Immutable; +import org.opendaylight.yangtools.concepts.Mutable; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier; /** @@ -91,19 +92,20 @@ public class DataTreeConfiguration implements Immutable { } } - public static Builder builder(final TreeType treeType) { + public static @NonNull Builder builder(final TreeType treeType) { return new Builder(treeType); } - public Builder copyBuilder() { + public @NonNull Builder copyBuilder() { return new Builder(treeType) .setMandatoryNodesValidation(isMandatoryNodesValidationEnabled()) .setUniqueIndexes(isUniqueIndexEnabled()) .setRootPath(getRootPath()); } - public static class Builder implements org.opendaylight.yangtools.concepts.Builder { + public static class Builder implements Mutable { private final TreeType treeType; + private YangInstanceIdentifier rootPath; private boolean uniqueIndexes; private boolean mandatoryNodesValidation; @@ -113,23 +115,27 @@ public class DataTreeConfiguration implements Immutable { rootPath = YangInstanceIdentifier.empty(); } - public Builder setUniqueIndexes(final boolean uniqueIndexes) { + public @NonNull Builder setUniqueIndexes(final boolean uniqueIndexes) { this.uniqueIndexes = uniqueIndexes; return this; } - public Builder setMandatoryNodesValidation(final boolean mandatoryNodesValidation) { + public @NonNull Builder setMandatoryNodesValidation(final boolean mandatoryNodesValidation) { this.mandatoryNodesValidation = mandatoryNodesValidation; return this; } - public Builder setRootPath(final YangInstanceIdentifier rootPath) { + public @NonNull Builder setRootPath(final YangInstanceIdentifier rootPath) { this.rootPath = rootPath.toOptimized(); return this; } - @Override - public DataTreeConfiguration build() { + /** + * Return {@link DataTreeConfiguration} as defined by this builder's current state. + * + * @return A DataTreeConfiguration + */ + public @NonNull DataTreeConfiguration build() { return new DataTreeConfiguration(treeType, rootPath, uniqueIndexes, mandatoryNodesValidation); } }