summaryrefslogtreecommitdiffstats
path: root/vespajlib
diff options
context:
space:
mode:
authorJon Bratseth <bratseth@verizonmedia.com>2019-09-09 23:04:49 +0200
committerJon Bratseth <bratseth@verizonmedia.com>2019-09-09 23:04:49 +0200
commitdc06b30f6a1861b5c25ae0c2d50865d053ebdffa (patch)
treefcd04ed88a458aba1dd1011cae3c52767b670d2f /vespajlib
parent5381ce1b3f336a09ecf8fe6e991d1fa2b12282d6 (diff)
Propagate listeners
Diffstat (limited to 'vespajlib')
-rw-r--r--vespajlib/src/main/java/com/yahoo/collections/ListenableArrayList.java7
1 files changed, 6 insertions, 1 deletions
diff --git a/vespajlib/src/main/java/com/yahoo/collections/ListenableArrayList.java b/vespajlib/src/main/java/com/yahoo/collections/ListenableArrayList.java
index e3f73212170..44569471049 100644
--- a/vespajlib/src/main/java/com/yahoo/collections/ListenableArrayList.java
+++ b/vespajlib/src/main/java/com/yahoo/collections/ListenableArrayList.java
@@ -3,13 +3,13 @@ package com.yahoo.collections;
import java.util.ArrayList;
import java.util.Collection;
+import java.util.Collections;
import java.util.List;
/**
* An array list which notifies listeners after one or more items are added
*
* @author bratseth
- * @since 5.1.17
*/
@SuppressWarnings("serial")
public class ListenableArrayList<ITEM> extends ArrayList<ITEM> {
@@ -56,6 +56,11 @@ public class ListenableArrayList<ITEM> extends ArrayList<ITEM> {
return result;
}
+ public List<Runnable> listeners() {
+ if (listeners == null) return Collections.emptyList();
+ return Collections.unmodifiableList(listeners);
+ }
+
/**
* Adds a listener which is invoked whenever elements are added to this.
* This may not be invoked once for each added element.