- restConfListenableEventStreamContext.registerNotificationListener(remoteDataChangeNotificationListener);
- return new SalRemoteDataListenerRegistration(listener);
- }
-
- private class SalRemoteDataListenerRegistration implements ListenerRegistration<DataChangeListener> {
- private final DataChangeListener dataChangeListener;
- public SalRemoteDataListenerRegistration(DataChangeListener dataChangeListener){
- this.dataChangeListener = dataChangeListener;
- }
- @Override
- public DataChangeListener getInstance() {
- return this.dataChangeListener;
- }
- @Override
- public void close() {
- //noop
- }
+ final ListenerRegistration<?> reg = restConfListenableEventStreamContext.registerNotificationListener(remoteDataChangeNotificationListener);
+ return new AbstractListenerRegistration<DataChangeListener>(listener) {
+ @Override
+ protected void removeRegistration() {
+ reg.close();
+ }
+ };