summaryrefslogtreecommitdiffstats
path: root/vespajlib
diff options
context:
space:
mode:
authorHenning Baldersheim <balder@yahoo-inc.com>2019-09-11 10:01:17 +0200
committerGitHub <noreply@github.com>2019-09-11 10:01:17 +0200
commit39d5b377f23d2df9cae23ac5a63dfbbb2bd187ab (patch)
tree1d25f831a7764161ef5cdab91e78b6e8c831c8c8 /vespajlib
parent05c46525cb5637a15a44382700b7575b0aa21237 (diff)
Revert "Revert "Removing elements from an array is very costly.""
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.