From 42f7eba5e70c7ae2f3958f4e75e196dedfacc9c3 Mon Sep 17 00:00:00 2001 From: Adam Wagner Date: Thu, 27 Jul 2017 14:09:28 +0300 Subject: Add method to get parent in TreeData (#9701) --- server/src/main/java/com/vaadin/data/TreeData.java | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) (limited to 'server/src/main') diff --git a/server/src/main/java/com/vaadin/data/TreeData.java b/server/src/main/java/com/vaadin/data/TreeData.java index bebf312614..1a5b0e4d3a 100644 --- a/server/src/main/java/com/vaadin/data/TreeData.java +++ b/server/src/main/java/com/vaadin/data/TreeData.java @@ -367,6 +367,25 @@ public class TreeData implements Serializable { .unmodifiableList(itemToWrapperMap.get(item).getChildren()); } + /** + * Get the parent item for the given item. + * + * @param item + * the item for which to retrieve the parent item for + * @return parent item for the given item or {@code null} if the item is a + * root item. + * @throws IllegalArgumentException + * if the item does not exist in this structure + * @since 8.1.1 + */ + public T getParent(T item) { + if (!contains(item)) { + throw new IllegalArgumentException( + "Item '" + item + "' not in hierarchy"); + } + return itemToWrapperMap.get(item).getParent(); + } + /** * Moves an item to become a child of the given parent item. The new parent * item must exist in the hierarchy. Setting the parent to {@code null} -- cgit v1.2.3