From: Leif Åstrand Date: Tue, 20 Dec 2011 06:18:25 +0000 (+0200) Subject: Add Application.getRoots() X-Git-Tag: 7.0.0.alpha1~90 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=4f8eee15039de470261584e2b54807bb521ee06d;p=vaadin-framework.git Add Application.getRoots() --- 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()); + } }