- public <L extends AsyncDataChangeListener<YangInstanceIdentifier, NormalizedNode<?, ?>>> DataChangeListenerRegistration<L>
- registerDataChangeListener(YangInstanceIdentifier path, L listener, DataChangeScope scope) {
- return dataChangeListenerTree.registerDataChangeListener(path, listener, scope);
+ public void registerDataChangeListener(YangInstanceIdentifier path,
+ AsyncDataChangeListener<YangInstanceIdentifier, NormalizedNode<?, ?>> listener, DataChangeScope scope,
+ Optional<DataTreeCandidate> initialState,
+ Consumer<ListenerRegistration<AsyncDataChangeListener<YangInstanceIdentifier, NormalizedNode<?, ?>>>>
+ onRegistration) {
+ final DataChangeListenerRegistration<AsyncDataChangeListener<YangInstanceIdentifier, NormalizedNode<?, ?>>>
+ registration = dataChangeListenerTree.registerDataChangeListener(path, listener, scope);
+
+ onRegistration.accept(registration);
+
+ if (initialState.isPresent()) {
+ notifySingleListener(path, listener, scope, initialState.get(), logContext);
+ }