packages (related to #8440) - should not be specific to TreeTable.
Otherwise, having a package and a class by the same name causes problems
when trying to compile a widgetset on systems that do not treat file
names as case sensitive.
--- /dev/null
+/*
+@VaadinApache2LicenseForJavaFiles@
+ */
+package com.vaadin.data;
+
+import com.vaadin.data.Container.Hierarchical;
+import com.vaadin.data.Container.Ordered;
+
+/**
+ * Container needed by large lazy loading hierarchies displayed e.g. in
+ * TreeTable.
+ * <p>
+ * Container of this type gets notified when a subtree is opened/closed in a
+ * component displaying its content. This allows container to lazy load subtrees
+ * and release memory when a sub-tree is no longer displayed.
+ * <p>
+ * Methods from {@link Container.Ordered} (and from {@linkContainer.Indexed} if
+ * implemented) are expected to work as in "preorder" of the currently visible
+ * hierarchy. This means for example that the return value of size method
+ * changes when subtree is collapsed/expanded. In other words items in collapsed
+ * sub trees should be "ignored" by container when the container is accessed
+ * with methods introduced in {@link Container.Ordered} or
+ * {@linkContainer.Indexed}. From the accessors point of view, items in
+ * collapsed subtrees don't exist.
+ * <p>
+ *
+ */
+public interface Collapsible extends Hierarchical, Ordered {
+
+ /**
+ * <p>
+ * Collapsing the {@link Item} indicated by <code>itemId</code> hides all
+ * children, and their respective children, from the {@link Container}.
+ * </p>
+ *
+ * <p>
+ * If called on a leaf {@link Item}, this method does nothing.
+ * </p>
+ *
+ * @param itemId
+ * the identifier of the collapsed {@link Item}
+ * @param collapsed
+ * <code>true</code> if you want to collapse the children below
+ * this {@link Item}. <code>false</code> if you want to
+ * uncollapse the children.
+ */
+ public void setCollapsed(Object itemId, boolean collapsed);
+
+ /**
+ * <p>
+ * Checks whether the {@link Item}, identified by <code>itemId</code> is
+ * collapsed or not.
+ * </p>
+ *
+ * <p>
+ * If an {@link Item} is "collapsed" its children are not included in
+ * methods used to list Items in this container.
+ * </p>
+ *
+ * @param itemId
+ * The {@link Item}'s identifier that is to be checked.
+ * @return <code>true</code> iff the {@link Item} identified by
+ * <code>itemId</code> is currently collapsed, otherwise
+ * <code>false</code>.
+ */
+ public boolean isCollapsed(Object itemId);
+
+}
--- /dev/null
+/*
+@VaadinApache2LicenseForJavaFiles@
+ */
+package com.vaadin.data.util;
+
+import java.util.Collection;
+
+import com.vaadin.data.Container.Hierarchical;
+
+/**
+ * A wrapper class for adding external ordering to containers not implementing
+ * the {@link com.vaadin.data.Container.Ordered} interface while retaining
+ * {@link Hierarchical} features.
+ *
+ * @see ContainerOrderedWrapper
+ */
+@SuppressWarnings({ "serial" })
+public class HierarchicalContainerOrderedWrapper extends
+ ContainerOrderedWrapper implements Hierarchical {
+
+ private Hierarchical hierarchical;
+
+ public HierarchicalContainerOrderedWrapper(Hierarchical toBeWrapped) {
+ super(toBeWrapped);
+ hierarchical = toBeWrapped;
+ }
+
+ public boolean areChildrenAllowed(Object itemId) {
+ return hierarchical.areChildrenAllowed(itemId);
+ }
+
+ public Collection<?> getChildren(Object itemId) {
+ return hierarchical.getChildren(itemId);
+ }
+
+ public Object getParent(Object itemId) {
+ return hierarchical.getParent(itemId);
+ }
+
+ public boolean hasChildren(Object itemId) {
+ return hierarchical.hasChildren(itemId);
+ }
+
+ public boolean isRoot(Object itemId) {
+ return hierarchical.isRoot(itemId);
+ }
+
+ public Collection<?> rootItemIds() {
+ return hierarchical.rootItemIds();
+ }
+
+ public boolean setChildrenAllowed(Object itemId, boolean areChildrenAllowed)
+ throws UnsupportedOperationException {
+ return hierarchical.setChildrenAllowed(itemId, areChildrenAllowed);
+ }
+
+ public boolean setParent(Object itemId, Object newParentId)
+ throws UnsupportedOperationException {
+ return hierarchical.setParent(itemId, newParentId);
+ }
+
+}
import java.util.Map;
import java.util.logging.Logger;
+import com.vaadin.data.Collapsible;
import com.vaadin.data.Container;
import com.vaadin.data.Container.Hierarchical;
import com.vaadin.data.Container.ItemSetChangeEvent;
import com.vaadin.data.util.ContainerHierarchicalWrapper;
import com.vaadin.data.util.HierarchicalContainer;
+import com.vaadin.data.util.HierarchicalContainerOrderedWrapper;
import com.vaadin.terminal.PaintException;
import com.vaadin.terminal.PaintTarget;
import com.vaadin.terminal.Resource;
import com.vaadin.ui.Tree.CollapseListener;
import com.vaadin.ui.Tree.ExpandEvent;
import com.vaadin.ui.Tree.ExpandListener;
-import com.vaadin.ui.treetable.Collapsible;
-import com.vaadin.ui.treetable.HierarchicalContainerOrderedWrapper;
/**
* TreeTable extends the {@link Table} component so that it can also visualize a
+++ /dev/null
-/*
-@VaadinApache2LicenseForJavaFiles@
- */
-package com.vaadin.ui.treetable;
-
-import com.vaadin.data.Container;
-import com.vaadin.data.Container.Hierarchical;
-import com.vaadin.data.Container.Ordered;
-import com.vaadin.data.Item;
-
-/**
- * Container needed by large lazy loading hierarchies displayed in TreeTable.
- * <p>
- * Container of this type gets notified when a subtree is opened/closed in a
- * component displaying its content. This allows container to lazy load subtrees
- * and release memory when a sub-tree is no longer displayed.
- * <p>
- * Methods from {@link Container.Ordered} (and from {@linkContainer.Indexed} if
- * implemented) are expected to work as in "preorder" of the currently visible
- * hierarchy. This means for example that the return value of size method
- * changes when subtree is collapsed/expanded. In other words items in collapsed
- * sub trees should be "ignored" by container when the container is accessed
- * with methods introduced in {@link Container.Ordered} or
- * {@linkContainer.Indexed}. From the accessors point of view, items in
- * collapsed subtrees don't exist.
- * <p>
- *
- */
-public interface Collapsible extends Hierarchical, Ordered {
-
- /**
- * <p>
- * Collapsing the {@link Item} indicated by <code>itemId</code> hides all
- * children, and their respective children, from the {@link Container}.
- * </p>
- *
- * <p>
- * If called on a leaf {@link Item}, this method does nothing.
- * </p>
- *
- * @param itemId
- * the identifier of the collapsed {@link Item}
- * @param collapsed
- * <code>true</code> if you want to collapse the children below
- * this {@link Item}. <code>false</code> if you want to
- * uncollapse the children.
- */
- public void setCollapsed(Object itemId, boolean collapsed);
-
- /**
- * <p>
- * Checks whether the {@link Item}, identified by <code>itemId</code> is
- * collapsed or not.
- * </p>
- *
- * <p>
- * If an {@link Item} is "collapsed" its children are not included in
- * methods used to list Items in this container.
- * </p>
- *
- * @param itemId
- * The {@link Item}'s identifier that is to be checked.
- * @return <code>true</code> iff the {@link Item} identified by
- * <code>itemId</code> is currently collapsed, otherwise
- * <code>false</code>.
- */
- public boolean isCollapsed(Object itemId);
-
-}
+++ /dev/null
-/*
-@VaadinApache2LicenseForJavaFiles@
- */
-package com.vaadin.ui.treetable;
-
-import java.util.Collection;
-
-import com.vaadin.data.Container.Hierarchical;
-import com.vaadin.data.util.ContainerOrderedWrapper;
-
-@SuppressWarnings({ "serial", "unchecked" })
-/**
- * Helper for TreeTable. Does the same thing as ContainerOrderedWrapper
- * to fit into table but retains Hierarchical feature.
- */
-public class HierarchicalContainerOrderedWrapper extends
- ContainerOrderedWrapper implements Hierarchical {
-
- private Hierarchical hierarchical;
-
- public HierarchicalContainerOrderedWrapper(Hierarchical toBeWrapped) {
- super(toBeWrapped);
- hierarchical = toBeWrapped;
- }
-
- public boolean areChildrenAllowed(Object itemId) {
- return hierarchical.areChildrenAllowed(itemId);
- }
-
- public Collection<?> getChildren(Object itemId) {
- return hierarchical.getChildren(itemId);
- }
-
- public Object getParent(Object itemId) {
- return hierarchical.getParent(itemId);
- }
-
- public boolean hasChildren(Object itemId) {
- return hierarchical.hasChildren(itemId);
- }
-
- public boolean isRoot(Object itemId) {
- return hierarchical.isRoot(itemId);
- }
-
- public Collection<?> rootItemIds() {
- return hierarchical.rootItemIds();
- }
-
- public boolean setChildrenAllowed(Object itemId, boolean areChildrenAllowed)
- throws UnsupportedOperationException {
- return hierarchical.setChildrenAllowed(itemId, areChildrenAllowed);
- }
-
- public boolean setParent(Object itemId, Object newParentId)
- throws UnsupportedOperationException {
- return hierarchical.setParent(itemId, newParentId);
- }
-
-}