From 4f8eee15039de470261584e2b54807bb521ee06d Mon Sep 17 00:00:00 2001 From: =?utf8?q?Leif=20=C3=85strand?= Date: Tue, 20 Dec 2011 08:18:25 +0200 Subject: [PATCH] Add Application.getRoots() --- src/com/vaadin/Application.java | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/src/com/vaadin/Application.java b/src/com/vaadin/Application.java index 4f81a55786..587d22ddcd 100644 --- a/src/com/vaadin/Application.java +++ b/src/com/vaadin/Application.java @@ -2414,4 +2414,22 @@ public class Application implements Terminal.ErrorListener, Serializable { public boolean isRootInitPending(int rootId) { return !initedRoots.contains(Integer.valueOf(rootId)); } + + /** + * Gets all the roots of this application. This includes roots that have + * been requested but not yet initialized. Please note, that roots are not + * automatically removed e.g. if the browser window is closed and that there + * is no way to manually remove a root. Inactive roots will thus not be + * released for GC until the entire application is released when the session + * has timed out (unless there are dangling references). Improved support + * for releasing unused roots is planned for an upcoming alpha release of + * Vaadin 7. + * + * @return a collection of roots belonging to this application + * + * @since 7.0 + */ + public Collection getRoots() { + return Collections.unmodifiableCollection(roots.values()); + } } -- 2.39.5