+/*
+ * Copyright (c) 2014 Cisco Systems, Inc. and others. All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at http://www.eclipse.org/legal/epl-v10.html
+ */
package org.opendaylight.controller.sal.streams.listeners;
import java.util.Map;
+import java.util.Set;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.locks.Lock;
import java.util.concurrent.locks.ReentrantLock;
*/
public class Notificator {
- private static Map<String, ListenerAdapter> listenersByStreamName = new ConcurrentHashMap<>();
+ private static Map<String, ListenerAdapter> listenersByStreamName = new ConcurrentHashMap<>();
private static Map<InstanceIdentifier, ListenerAdapter> listenersByInstanceIdentifier = new ConcurrentHashMap<>();
private static final Lock lock = new ReentrantLock();
private Notificator() {
}
+ /**
+ * Returns list of all stream names
+ */
+ public static Set<String> getStreamNames() {
+ return listenersByStreamName.keySet();
+ }
+
+
/**
* Gets {@link ListenerAdapter} specified by stream name.
- *
+ *
* @param streamName
* The name of the stream.
* @return {@link ListenerAdapter} specified by stream name.
/**
* Gets {@link ListenerAdapter} listener specified by
* {@link InstanceIdentifier} path.
- *
+ *
* @param path
* Path to data in data repository.
* @return ListenerAdapter
/**
* Checks if the listener specified by {@link InstanceIdentifier} path
* exist.
- *
+ *
* @param path
* Path to data in data repository.
* @return True if the listener exist, false otherwise.
/**
* Creates new {@link ListenerAdapter} listener from
* {@link InstanceIdentifier} path and stream name.
- *
+ *
* @param path
* Path to data in data repository.
* @param streamName
/**
* Looks for listener determined by {@link InstanceIdentifier} path and
* removes it.
- *
+ *
* @param path
* InstanceIdentifier
*/
/**
* Creates String representation of stream name from URI. Removes slash from
* URI in start and end position.
- *
+ *
* @param uri
* URI for creation stream name.
* @return String representation of stream name.
}
/**
- * Checks if listener has at least one subscriber. In case it has any, delete
+ * Checks if listener has at least one subscriber. In case it doesn't have any, delete
* listener.
- *
+ *
* @param listener
* ListenerAdapter
*/
/**
* Delete {@link ListenerAdapter} listener specified in parameter.
- *
+ *
* @param listener
* ListenerAdapter
*/
}
}
-}
\ No newline at end of file
+}