- this.registerTreeChangeListener = Preconditions.checkNotNull(registerTreeChangeListener);
- }
-
- synchronized void createDelegate(final LeaderLocalDelegateFactory<RegisterDataTreeChangeListener, ListenerRegistration<DOMDataTreeChangeListener>, Optional<DataTreeCandidate>> factory) {
- if (!closed) {
- final Entry<ListenerRegistration<DOMDataTreeChangeListener>, Optional<DataTreeCandidate>> res =
- factory.createDelegate(registerTreeChangeListener);
- this.delegate = res.getKey();
- factory.getShard().getDataStore().notifyOfInitialData(registerTreeChangeListener.getPath(),
- this.delegate.getInstance(), res.getValue());
- }
- }
-
- @Override
- public DOMDataTreeChangeListener getInstance() {
- final ListenerRegistration<DOMDataTreeChangeListener> d = delegate;
- return d == null ? null : d.getInstance();
- }
-
- @Override
- public synchronized void close() {
- if (!closed) {
- closed = true;
- if (delegate != null) {
- delegate.close();
- }
- }