*/
package org.opendaylight.controller.cluster.datastore;
+import com.google.common.base.Optional;
+import java.util.function.Consumer;
import org.opendaylight.controller.md.sal.common.api.data.AsyncDataBroker.DataChangeScope;
import org.opendaylight.controller.md.sal.common.api.data.AsyncDataChangeListener;
-import org.opendaylight.controller.md.sal.dom.store.impl.DataChangeListenerRegistration;
+import org.opendaylight.yangtools.concepts.ListenerRegistration;
import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier;
import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode;
+import org.opendaylight.yangtools.yang.data.api.schema.tree.DataTreeCandidate;
/**
* Interface for a class that generates and publishes notifications for DataChangeListeners.
* @author Thomas Pantelis
*/
interface ShardDataChangeListenerPublisher extends ShardDataTreeNotificationPublisher {
- ShardDataChangeListenerPublisher newInstance();
-
- <L extends AsyncDataChangeListener<YangInstanceIdentifier, NormalizedNode<?, ?>>> DataChangeListenerRegistration<L>
- registerDataChangeListener(final YangInstanceIdentifier path,final L listener, final DataChangeScope scope);
+ void registerDataChangeListener(YangInstanceIdentifier path,
+ AsyncDataChangeListener<YangInstanceIdentifier, NormalizedNode<?, ?>> listener, DataChangeScope scope,
+ Optional<DataTreeCandidate> initialState,
+ Consumer<ListenerRegistration<AsyncDataChangeListener<YangInstanceIdentifier, NormalizedNode<?, ?>>>>
+ onRegistration);
}