You mean, why isn't the userData property generic? No particular reason - that idea never came up. But honestly, I think making the entire class a generic might be a bit too verbose.
TreeNode<MyObject> treeNode = new TreeNode<MyObject>(); vs. TreeNode treeNode = new TreeNode(); User data is really just a minor convenience. Many apps that use tree views are likely to implement their own node and branch classes and wouldn't benefit from it anyways. I could potentially see an argument for parameterizing the getUserData() method, though. On May 6, 2011, at 8:25 AM, Edvin Syse wrote: > OK. I think I'll start by wrapping my objects in TreeNode and TreeBranch and > see how it goes. Can I ask why you didn't add generics to these objects? It > would be nice to be able to do: > > TreeNode<MyObject> node = new TreeNode<MyObject>(); > node.setUserData(instanceOfMyObject) > > > ... > > MyObject myObject = node.getUserData() > > -- Edvin > > Den 06.05.2011 14:16, skrev Greg Brown: >> If a node implements org.apache.pivot.collections.List, it is considered a >> branch. Otherwise, it is a leaf. >> >> On May 6, 2011, at 8:06 AM, Edvin Syse wrote: >> >>> ListAdapter was nice, thanks :) >>> >>> But how do I express what is supposed to be Leaf nodes and what to be >>> Branch nodes? >>> >>> -- Edvin >>> >>> Den 06.05.2011 13:49, skrev Greg Brown: >>>> Have you looked at org.apache.pivot.collections.adapter.ListAdapter? You >>>> might be able to use this in conjunction with TreeViewBranchListener to >>>> construct your tree nodes from your backing data structure on demand. >>>> >>>> G >>>> >>>> >>>> On May 6, 2011, at 7:31 AM, Edvin Syse wrote: >>>> >>>>> I have a tree-structure represented by a list of domain objects. Some of >>>>> the domain objects have a "children" property with a java.util.List of >>>>> children. The TreeView#setTreeData method takes a >>>>> org.apache.pivot.collections.List, and I figured I could do: >>>>> >>>>> setTreeData(new ArrayList(myJavaUtilListList.toArray())); >>>>> >>>>> This works so that I can see the first level of nodes, but I don't know >>>>> how to express branch nodes. Also, I would like to lazy load some of the >>>>> nodes. I think I need to use the TreeViewBranchListener somehow, but I >>>>> can't find any documentation or examples. >>>>> >>>>> Do I need to wrap all my domain objects in TreeNodes or is there another >>>>> way to do this? >>>>> >>>>> -- Edvin >>>> >>
