From: Robert Varga Date: Mon, 8 Oct 2018 10:48:57 +0000 (+0200) Subject: Annotate mdsal-binding-api with @NonNull X-Git-Tag: v3.0.1~63 X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=commitdiff_plain;h=a10c289bba4f28edb60fd555ee6d0f69cadd5c5f;p=mdsal.git Annotate mdsal-binding-api with @NonNull This fixes a mismatch with mdsal-binding-util and formalizes existing effective contracts. JIRA: MDSAL-373 Change-Id: I98914a04fb0efb8f5ebd70058f39f9fb36bdf5b9 Signed-off-by: Robert Varga --- diff --git a/binding/mdsal-binding-api/src/main/java/org/opendaylight/mdsal/binding/api/CursorAwareWriteTransaction.java b/binding/mdsal-binding-api/src/main/java/org/opendaylight/mdsal/binding/api/CursorAwareWriteTransaction.java index 46d5c5d427..fd25858127 100644 --- a/binding/mdsal-binding-api/src/main/java/org/opendaylight/mdsal/binding/api/CursorAwareWriteTransaction.java +++ b/binding/mdsal-binding-api/src/main/java/org/opendaylight/mdsal/binding/api/CursorAwareWriteTransaction.java @@ -9,6 +9,7 @@ package org.opendaylight.mdsal.binding.api; import com.google.common.util.concurrent.FluentFuture; +import javax.annotation.CheckReturnValue; import org.eclipse.jdt.annotation.NonNull; import org.opendaylight.mdsal.common.api.CommitInfo; import org.opendaylight.mdsal.common.api.TransactionCommitFailedException; @@ -72,5 +73,6 @@ public interface CursorAwareWriteTransaction extends DataTreeCursorProvider { * operation is complete. A successful commit returns nothing. On failure, the Future will fail with a * {@link TransactionCommitFailedException} or an exception derived from TransactionCommitFailedException. */ - FluentFuture commit(); + @CheckReturnValue + @NonNull FluentFuture commit(); } diff --git a/binding/mdsal-binding-api/src/main/java/org/opendaylight/mdsal/binding/api/DataBroker.java b/binding/mdsal-binding-api/src/main/java/org/opendaylight/mdsal/binding/api/DataBroker.java index 16e2717123..39a984fbe0 100644 --- a/binding/mdsal-binding-api/src/main/java/org/opendaylight/mdsal/binding/api/DataBroker.java +++ b/binding/mdsal-binding-api/src/main/java/org/opendaylight/mdsal/binding/api/DataBroker.java @@ -7,6 +7,8 @@ */ package org.opendaylight.mdsal.binding.api; +import org.eclipse.jdt.annotation.NonNull; + /** * Provides access to a conceptual data tree store and also provides the ability to * subscribe for changes to data under a given branch of the tree. @@ -46,5 +48,5 @@ public interface DataBroker extends BindingService, TransactionFactory, DataTree * @param listener Transaction chain event listener * @return A new transaction chain. */ - TransactionChain createTransactionChain(TransactionChainListener listener); + @NonNull TransactionChain createTransactionChain(@NonNull TransactionChainListener listener); } diff --git a/binding/mdsal-binding-api/src/main/java/org/opendaylight/mdsal/binding/api/DataObjectModification.java b/binding/mdsal-binding-api/src/main/java/org/opendaylight/mdsal/binding/api/DataObjectModification.java index 1236bc8cde..ed4729059b 100644 --- a/binding/mdsal-binding-api/src/main/java/org/opendaylight/mdsal/binding/api/DataObjectModification.java +++ b/binding/mdsal-binding-api/src/main/java/org/opendaylight/mdsal/binding/api/DataObjectModification.java @@ -163,7 +163,7 @@ public interface DataObjectModification extends * @throws IllegalArgumentException If supplied {@code listItem} class is not valid child according * to generated model. */ - & ChildOf, K extends Identifier> DataObjectModification + & ChildOf, K extends Identifier> @Nullable DataObjectModification getModifiedChildListItem(@NonNull Class listItem, @NonNull K listKey); /** diff --git a/binding/mdsal-binding-api/src/main/java/org/opendaylight/mdsal/binding/api/DataTreeCommitCohort.java b/binding/mdsal-binding-api/src/main/java/org/opendaylight/mdsal/binding/api/DataTreeCommitCohort.java index abc8aa84b8..e0e07ad465 100644 --- a/binding/mdsal-binding-api/src/main/java/org/opendaylight/mdsal/binding/api/DataTreeCommitCohort.java +++ b/binding/mdsal-binding-api/src/main/java/org/opendaylight/mdsal/binding/api/DataTreeCommitCohort.java @@ -10,6 +10,7 @@ package org.opendaylight.mdsal.binding.api; import com.google.common.annotations.Beta; import com.google.common.util.concurrent.FluentFuture; import java.util.Collection; +import javax.annotation.CheckReturnValue; import org.eclipse.jdt.annotation.NonNull; import org.opendaylight.mdsal.common.api.DataValidationFailedException; import org.opendaylight.mdsal.common.api.PostCanCommitStep; @@ -100,6 +101,7 @@ public interface DataTreeCommitCohort { * more specific subclasses of this exception to provide additional information about * validation failure reason. */ - FluentFuture canCommit(@NonNull Object txId, + @CheckReturnValue + @NonNull FluentFuture canCommit(@NonNull Object txId, @NonNull Collection> modifications); } diff --git a/binding/mdsal-binding-api/src/main/java/org/opendaylight/mdsal/binding/api/DataTreeCommitCohortRegistry.java b/binding/mdsal-binding-api/src/main/java/org/opendaylight/mdsal/binding/api/DataTreeCommitCohortRegistry.java index ec30a938e7..811ed33bfc 100644 --- a/binding/mdsal-binding-api/src/main/java/org/opendaylight/mdsal/binding/api/DataTreeCommitCohortRegistry.java +++ b/binding/mdsal-binding-api/src/main/java/org/opendaylight/mdsal/binding/api/DataTreeCommitCohortRegistry.java @@ -5,9 +5,9 @@ * terms of the Eclipse Public License v1.0 which accompanies this distribution, * and is available at http://www.eclipse.org/legal/epl-v10.html */ - package org.opendaylight.mdsal.binding.api; +import org.eclipse.jdt.annotation.NonNull; import org.opendaylight.yangtools.concepts.ObjectRegistration; import org.opendaylight.yangtools.yang.binding.DataObject; @@ -18,10 +18,8 @@ import org.opendaylight.yangtools.yang.binding.DataObject; * See {@link DataTreeCommitCohort} for more details. * * @author Tony Tkacik <ttkacik@cisco.com> - * */ public interface DataTreeCommitCohortRegistry { - /** * Register commit cohort which will participate in three-phase commit protocols of write * transaction in data broker associated with this instance of extension. @@ -30,7 +28,6 @@ public interface DataTreeCommitCohortRegistry { * @param cohort Commit cohort * @return Registaration object for DOM Data Three Commit cohort. */ - > ObjectRegistration registerCommitCohort( - DataTreeIdentifier subtree, T cohort); - + > @NonNull ObjectRegistration registerCommitCohort( + @NonNull DataTreeIdentifier subtree, @NonNull T cohort); } diff --git a/binding/mdsal-binding-api/src/main/java/org/opendaylight/mdsal/binding/api/DataTreeIdentifier.java b/binding/mdsal-binding-api/src/main/java/org/opendaylight/mdsal/binding/api/DataTreeIdentifier.java index c8eaaad3c1..89c72c5361 100644 --- a/binding/mdsal-binding-api/src/main/java/org/opendaylight/mdsal/binding/api/DataTreeIdentifier.java +++ b/binding/mdsal-binding-api/src/main/java/org/opendaylight/mdsal/binding/api/DataTreeIdentifier.java @@ -7,8 +7,9 @@ */ package org.opendaylight.mdsal.binding.api; +import static java.util.Objects.requireNonNull; + import com.google.common.base.MoreObjects; -import com.google.common.base.Preconditions; import java.io.Serializable; import org.eclipse.jdt.annotation.NonNull; import org.opendaylight.mdsal.common.api.LogicalDatastoreType; @@ -24,16 +25,18 @@ import org.opendaylight.yangtools.yang.binding.InstanceIdentifier; public final class DataTreeIdentifier implements Immutable, Path>, Serializable { private static final long serialVersionUID = 1L; - private final InstanceIdentifier rootIdentifier; - private final LogicalDatastoreType datastoreType; - private DataTreeIdentifier(final LogicalDatastoreType datastoreType, final InstanceIdentifier rootIdentifier) { - this.datastoreType = Preconditions.checkNotNull(datastoreType); - this.rootIdentifier = Preconditions.checkNotNull(rootIdentifier); + private final @NonNull InstanceIdentifier rootIdentifier; + private final @NonNull LogicalDatastoreType datastoreType; + + private DataTreeIdentifier(final @NonNull LogicalDatastoreType datastoreType, + final @NonNull InstanceIdentifier rootIdentifier) { + this.datastoreType = requireNonNull(datastoreType); + this.rootIdentifier = requireNonNull(rootIdentifier); } - public static DataTreeIdentifier create(final LogicalDatastoreType datastoreType, - final InstanceIdentifier rootIdentifier) { + public static @NonNull DataTreeIdentifier create( + final @NonNull LogicalDatastoreType datastoreType, final @NonNull InstanceIdentifier rootIdentifier) { return new DataTreeIdentifier<>(datastoreType, rootIdentifier); } diff --git a/binding/mdsal-binding-api/src/main/java/org/opendaylight/mdsal/binding/api/DataTreeWriteCursor.java b/binding/mdsal-binding-api/src/main/java/org/opendaylight/mdsal/binding/api/DataTreeWriteCursor.java index a2e7b5b4d4..090e2b7084 100644 --- a/binding/mdsal-binding-api/src/main/java/org/opendaylight/mdsal/binding/api/DataTreeWriteCursor.java +++ b/binding/mdsal-binding-api/src/main/java/org/opendaylight/mdsal/binding/api/DataTreeWriteCursor.java @@ -5,9 +5,9 @@ * terms of the Eclipse Public License v1.0 which accompanies this distribution, * and is available at http://www.eclipse.org/legal/epl-v10.html */ - package org.opendaylight.mdsal.binding.api; +import org.eclipse.jdt.annotation.NonNull; import org.opendaylight.yangtools.yang.binding.DataObject; import org.opendaylight.yangtools.yang.binding.InstanceIdentifier.PathArgument; import org.opendaylight.yangtools.yang.data.api.schema.tree.BackendFailedException; @@ -19,7 +19,6 @@ import org.opendaylight.yangtools.yang.data.api.schema.tree.BackendFailedExcepti * In addition this cursor also provides write operations(delete, merge, write). */ public interface DataTreeWriteCursor extends DataTreeCursor { - /** * Delete the specified child. * @@ -27,7 +26,7 @@ public interface DataTreeWriteCursor extends DataTreeCursor { * @throws BackendFailedException when implementation-specific errors occurs while servicing the * request. */ - void delete(PathArgument child); + void delete(@NonNull PathArgument child); /** * Merge the specified data with the currently-present data at specified path. @@ -37,7 +36,7 @@ public interface DataTreeWriteCursor extends DataTreeCursor { * @throws BackendFailedException when implementation-specific errors occurs while servicing the * request. */ - void merge(PathArgument child, T data); + void merge(@NonNull PathArgument child, @NonNull T data); /** * Replace the data at specified path with supplied data. @@ -47,5 +46,5 @@ public interface DataTreeWriteCursor extends DataTreeCursor { * @throws BackendFailedException when implementation-specific errors occurs while servicing the * request. */ - void write(PathArgument child, T data); + void write(@NonNull PathArgument child, @NonNull T data); } diff --git a/binding/mdsal-binding-api/src/main/java/org/opendaylight/mdsal/binding/api/MountPoint.java b/binding/mdsal-binding-api/src/main/java/org/opendaylight/mdsal/binding/api/MountPoint.java index f50a5e984b..28ec05ff23 100644 --- a/binding/mdsal-binding-api/src/main/java/org/opendaylight/mdsal/binding/api/MountPoint.java +++ b/binding/mdsal-binding-api/src/main/java/org/opendaylight/mdsal/binding/api/MountPoint.java @@ -8,11 +8,11 @@ package org.opendaylight.mdsal.binding.api; import java.util.Optional; +import org.eclipse.jdt.annotation.NonNull; import org.opendaylight.yangtools.concepts.Identifiable; import org.opendaylight.yangtools.yang.binding.InstanceIdentifier; public interface MountPoint extends Identifiable> { - Optional getService(Class service); - + @NonNull Optional getService(@NonNull Class service); } diff --git a/binding/mdsal-binding-api/src/main/java/org/opendaylight/mdsal/binding/api/NotificationPublishService.java b/binding/mdsal-binding-api/src/main/java/org/opendaylight/mdsal/binding/api/NotificationPublishService.java index 1541008f3c..1fe34a0011 100644 --- a/binding/mdsal-binding-api/src/main/java/org/opendaylight/mdsal/binding/api/NotificationPublishService.java +++ b/binding/mdsal-binding-api/src/main/java/org/opendaylight/mdsal/binding/api/NotificationPublishService.java @@ -7,9 +7,10 @@ */ package org.opendaylight.mdsal.binding.api; -import com.google.common.util.concurrent.Futures; import com.google.common.util.concurrent.ListenableFuture; import java.util.concurrent.TimeUnit; +import org.eclipse.jdt.annotation.NonNull; +import org.opendaylight.yangtools.util.concurrent.FluentFutures; import org.opendaylight.yangtools.yang.binding.Notification; /** @@ -23,7 +24,7 @@ import org.opendaylight.yangtools.yang.binding.Notification; * - {@link #offerNotification(Notification, int, TimeUnit)}, which may block * for specified time if resources are thin. * - *

+ *

* The actual delivery to listeners is asynchronous and implementation-specific. * Users of this interface should not make any assumptions as to whether the * notification has or has not been seen. @@ -34,7 +35,7 @@ public interface NotificationPublishService extends BindingService { * Well-known value indicating that the binding-aware implementation is currently not * able to accept a notification. */ - ListenableFuture REJECTED = Futures.immediateFailedFuture( + ListenableFuture REJECTED = FluentFutures.immediateFailedFluentFuture( new NotificationRejectedException("Rejected due to resource constraints.")); /** @@ -50,7 +51,7 @@ public interface NotificationPublishService extends BindingService { * @throws InterruptedException if interrupted while waiting * @throws NullPointerException if the notification is null */ - void putNotification(Notification notification) throws InterruptedException; + void putNotification(@NonNull Notification notification) throws InterruptedException; /** * Publishes a notification to subscribed listeners. This initiates the process of sending the @@ -66,7 +67,7 @@ public interface NotificationPublishService extends BindingService { * resource constraints prevent * @throws NullPointerException if the notification is null */ - ListenableFuture offerNotification(Notification notification); + @NonNull ListenableFuture offerNotification(@NonNull Notification notification); /** * Publishes a notification to subscribed listeners. This initiates the process of sending the @@ -84,7 +85,6 @@ public interface NotificationPublishService extends BindingService { * @throws NullPointerException if the notification or unit is null * @throws IllegalArgumentException if timeout is negative. */ - ListenableFuture offerNotification(Notification notification, int timeout, TimeUnit unit) - throws InterruptedException; - + @NonNull ListenableFuture offerNotification(@NonNull Notification notification, + int timeout, @NonNull TimeUnit unit) throws InterruptedException; } diff --git a/binding/mdsal-binding-api/src/main/java/org/opendaylight/mdsal/binding/api/NotificationService.java b/binding/mdsal-binding-api/src/main/java/org/opendaylight/mdsal/binding/api/NotificationService.java index 42729f6512..8d49fb5e5d 100644 --- a/binding/mdsal-binding-api/src/main/java/org/opendaylight/mdsal/binding/api/NotificationService.java +++ b/binding/mdsal-binding-api/src/main/java/org/opendaylight/mdsal/binding/api/NotificationService.java @@ -7,6 +7,7 @@ */ package org.opendaylight.mdsal.binding.api; +import org.eclipse.jdt.annotation.NonNull; import org.opendaylight.yangtools.concepts.ListenerRegistration; import org.opendaylight.yangtools.yang.binding.NotificationListener; @@ -92,5 +93,5 @@ public interface NotificationService extends BindingService { * @return a {@link ListenerRegistration} instance that should be used to unregister the listener * by invoking the {@link ListenerRegistration#close()} method when no longer needed. */ - ListenerRegistration registerNotificationListener(T listener); + @NonNull ListenerRegistration registerNotificationListener(@NonNull T listener); } diff --git a/binding/mdsal-binding-api/src/main/java/org/opendaylight/mdsal/binding/api/ReadOperations.java b/binding/mdsal-binding-api/src/main/java/org/opendaylight/mdsal/binding/api/ReadOperations.java index ff93bac36b..57afb72988 100644 --- a/binding/mdsal-binding-api/src/main/java/org/opendaylight/mdsal/binding/api/ReadOperations.java +++ b/binding/mdsal-binding-api/src/main/java/org/opendaylight/mdsal/binding/api/ReadOperations.java @@ -9,6 +9,7 @@ package org.opendaylight.mdsal.binding.api; import com.google.common.util.concurrent.FluentFuture; import java.util.Optional; +import org.eclipse.jdt.annotation.NonNull; import org.opendaylight.mdsal.common.api.LogicalDatastoreType; import org.opendaylight.mdsal.common.api.ReadFailedException; import org.opendaylight.yangtools.yang.binding.DataObject; @@ -37,6 +38,8 @@ public interface ReadOperations { *
  • If the read of the data fails, the Future will fail with a {@link ReadFailedException} or * an exception derived from ReadFailedException.
  • * + * @throws NullPointerException if any of the arguments is null */ - FluentFuture> read(LogicalDatastoreType store, InstanceIdentifier path); + @NonNull FluentFuture> read(@NonNull LogicalDatastoreType store, + @NonNull InstanceIdentifier path); } diff --git a/binding/mdsal-binding-api/src/main/java/org/opendaylight/mdsal/binding/api/RpcConsumerRegistry.java b/binding/mdsal-binding-api/src/main/java/org/opendaylight/mdsal/binding/api/RpcConsumerRegistry.java index 646cd9a274..10c13cf19d 100644 --- a/binding/mdsal-binding-api/src/main/java/org/opendaylight/mdsal/binding/api/RpcConsumerRegistry.java +++ b/binding/mdsal-binding-api/src/main/java/org/opendaylight/mdsal/binding/api/RpcConsumerRegistry.java @@ -7,6 +7,7 @@ */ package org.opendaylight.mdsal.binding.api; +import org.eclipse.jdt.annotation.NonNull; import org.opendaylight.yangtools.yang.binding.RpcService; /** @@ -69,5 +70,5 @@ public interface RpcConsumerRegistry extends BindingService { * generated from a YANG model. * @return the proxy for the requested RPC service. This method never returns null. */ - T getRpcService(Class serviceInterface); + @NonNull T getRpcService(@NonNull Class serviceInterface); } diff --git a/binding/mdsal-binding-api/src/main/java/org/opendaylight/mdsal/binding/api/TransactionChainListener.java b/binding/mdsal-binding-api/src/main/java/org/opendaylight/mdsal/binding/api/TransactionChainListener.java index 515dcb75ae..f88f6d6c18 100644 --- a/binding/mdsal-binding-api/src/main/java/org/opendaylight/mdsal/binding/api/TransactionChainListener.java +++ b/binding/mdsal-binding-api/src/main/java/org/opendaylight/mdsal/binding/api/TransactionChainListener.java @@ -8,6 +8,7 @@ package org.opendaylight.mdsal.binding.api; import java.util.EventListener; +import org.eclipse.jdt.annotation.NonNull; /** * Listener for transaction chain events. @@ -24,7 +25,8 @@ public interface TransactionChainListener extends EventListener { * @param transaction Transaction which caused the chain to fail * @param cause The cause of transaction failure */ - void onTransactionChainFailed(TransactionChain chain, Transaction transaction, Throwable cause); + void onTransactionChainFailed(@NonNull TransactionChain chain, @NonNull Transaction transaction, + @NonNull Throwable cause); /** * Invoked when a transaction chain is completed. A transaction chain is considered completed when it has been @@ -32,6 +34,6 @@ public interface TransactionChainListener extends EventListener { * * @param chain Transaction chain which completed */ - void onTransactionChainSuccessful(TransactionChain chain); + void onTransactionChainSuccessful(@NonNull TransactionChain chain); } diff --git a/binding/mdsal-binding-api/src/main/java/org/opendaylight/mdsal/binding/api/TransactionFactory.java b/binding/mdsal-binding-api/src/main/java/org/opendaylight/mdsal/binding/api/TransactionFactory.java index f7314bbd26..be2eeb0943 100644 --- a/binding/mdsal-binding-api/src/main/java/org/opendaylight/mdsal/binding/api/TransactionFactory.java +++ b/binding/mdsal-binding-api/src/main/java/org/opendaylight/mdsal/binding/api/TransactionFactory.java @@ -7,6 +7,8 @@ */ package org.opendaylight.mdsal.binding.api; +import org.eclipse.jdt.annotation.NonNull; + /** * A factory which allocates new transactions to operate on the data tree. * @@ -54,7 +56,7 @@ public interface TransactionFactory { * * @return A new read-only transaction */ - ReadTransaction newReadOnlyTransaction(); + @NonNull ReadTransaction newReadOnlyTransaction(); /** * Allocates new read-write transaction which provides a mutable view of the data tree. @@ -67,7 +69,7 @@ public interface TransactionFactory { * * @return new read-write transaction */ - ReadWriteTransaction newReadWriteTransaction(); + @NonNull ReadWriteTransaction newReadWriteTransaction(); /** * Allocates new write-only transaction based on latest state of data tree. @@ -88,5 +90,5 @@ public interface TransactionFactory { * * @return new write-only transaction */ - WriteTransaction newWriteOnlyTransaction(); + @NonNull WriteTransaction newWriteOnlyTransaction(); } diff --git a/binding/mdsal-binding-api/src/main/java/org/opendaylight/mdsal/binding/api/WriteOperations.java b/binding/mdsal-binding-api/src/main/java/org/opendaylight/mdsal/binding/api/WriteOperations.java index 21cbdeb55d..2bc0be8062 100644 --- a/binding/mdsal-binding-api/src/main/java/org/opendaylight/mdsal/binding/api/WriteOperations.java +++ b/binding/mdsal-binding-api/src/main/java/org/opendaylight/mdsal/binding/api/WriteOperations.java @@ -7,6 +7,7 @@ */ package org.opendaylight.mdsal.binding.api; +import org.eclipse.jdt.annotation.NonNull; import org.opendaylight.mdsal.common.api.LogicalDatastoreType; import org.opendaylight.yangtools.yang.binding.DataObject; import org.opendaylight.yangtools.yang.binding.InstanceIdentifier; @@ -35,7 +36,8 @@ public interface WriteOperations { * @throws IllegalStateException if the transaction has already been submitted * @throws NullPointerException if any of the arguments is null */ - void put(LogicalDatastoreType store, InstanceIdentifier path, T data); + void put(@NonNull LogicalDatastoreType store, @NonNull InstanceIdentifier path, + @NonNull T data); /** * Stores a piece of data at the specified path. This acts as an add / replace operation, which is to say that whole @@ -57,8 +59,8 @@ public interface WriteOperations { * @throws IllegalStateException if the transaction has already been submitted * @throws NullPointerException if any of the arguments is null */ - void put(LogicalDatastoreType store, InstanceIdentifier path, T data, - boolean createMissingParents); + void put(@NonNull LogicalDatastoreType store, @NonNull InstanceIdentifier path, + @NonNull T data, boolean createMissingParents); /** * Merges a piece of data with the existing data at a specified path. Any pre-existing data which is not explicitly @@ -77,7 +79,8 @@ public interface WriteOperations { * @throws IllegalStateException if the transaction has already been submitted * @throws NullPointerException if any of the arguments is null */ - void merge(LogicalDatastoreType store, InstanceIdentifier path, T data); + void merge(@NonNull LogicalDatastoreType store, @NonNull InstanceIdentifier path, + @NonNull T data); /** * Merges a piece of data with the existing data at a specified path. Any pre-existing data which is not explicitly @@ -94,8 +97,8 @@ public interface WriteOperations { * @throws IllegalStateException if the transaction has already been submitted * @throws NullPointerException if any of the arguments is null */ - void merge(LogicalDatastoreType store, InstanceIdentifier path, T data, - boolean createMissingParents); + void merge(@NonNull LogicalDatastoreType store, @NonNull InstanceIdentifier path, + @NonNull T data, boolean createMissingParents); /** * Removes a piece of data from specified path. This operation does not fail if the specified path does not exist. @@ -104,7 +107,7 @@ public interface WriteOperations { * @param path Data object path * @throws IllegalStateException if the transaction was committed or canceled. */ - void delete(LogicalDatastoreType store, InstanceIdentifier path); + void delete(@NonNull LogicalDatastoreType store, @NonNull InstanceIdentifier path); /** * Flag value indicating that missing parents should be created.