- this.registerTreeChangeListener = Preconditions.checkNotNull(registerTreeChangeListener);
- }
-
- synchronized void createDelegate(final DelegateFactory<RegisterDataTreeChangeListener, ListenerRegistration<DOMDataTreeChangeListener>, DataTreeCandidate> factory) {
- if (!closed) {
- final Entry<ListenerRegistration<DOMDataTreeChangeListener>, DataTreeCandidate> res = factory.createDelegate(registerTreeChangeListener);
- this.delegate = res.getKey();
- if (res.getValue() != null) {
- delegate.getInstance().onDataTreeChanged(Collections.singletonList(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();
- }
- }