]> source.dussan.org Git - vaadin-framework.git/commitdiff
Moved Collapsible and HierarchicalContainerOrderedWrapper to data
authorHenri Sara <hesara@vaadin.com>
Thu, 5 Apr 2012 06:34:00 +0000 (09:34 +0300)
committerHenri Sara <hesara@vaadin.com>
Thu, 5 Apr 2012 06:38:35 +0000 (09:38 +0300)
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.

src/com/vaadin/data/Collapsible.java [new file with mode: 0644]
src/com/vaadin/data/util/HierarchicalContainerOrderedWrapper.java [new file with mode: 0644]
src/com/vaadin/ui/TreeTable.java
src/com/vaadin/ui/treetable/Collapsible.java [deleted file]
src/com/vaadin/ui/treetable/HierarchicalContainerOrderedWrapper.java [deleted file]

diff --git a/src/com/vaadin/data/Collapsible.java b/src/com/vaadin/data/Collapsible.java
new file mode 100644 (file)
index 0000000..06c96b7
--- /dev/null
@@ -0,0 +1,68 @@
+/*
+@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);
+
+}
diff --git a/src/com/vaadin/data/util/HierarchicalContainerOrderedWrapper.java b/src/com/vaadin/data/util/HierarchicalContainerOrderedWrapper.java
new file mode 100644 (file)
index 0000000..b7eac3e
--- /dev/null
@@ -0,0 +1,62 @@
+/*
+@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);
+    }
+
+}
index 3fe080787a98a3ab63f803f08c6d316d6ab52d88..f920810edf1ba70fa15f40252fdf261a42072b02 100644 (file)
@@ -13,11 +13,13 @@ import java.util.List;
 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;
@@ -26,8 +28,6 @@ import com.vaadin.ui.Tree.CollapseEvent;
 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
diff --git a/src/com/vaadin/ui/treetable/Collapsible.java b/src/com/vaadin/ui/treetable/Collapsible.java
deleted file mode 100644 (file)
index bec0ba9..0000000
+++ /dev/null
@@ -1,69 +0,0 @@
-/*
-@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);
-
-}
diff --git a/src/com/vaadin/ui/treetable/HierarchicalContainerOrderedWrapper.java b/src/com/vaadin/ui/treetable/HierarchicalContainerOrderedWrapper.java
deleted file mode 100644 (file)
index f826c59..0000000
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
-@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);
-    }
-
-}