File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
The moose likes Beginning Java and the fly likes Dynamic hirarchical Menu by object and array list Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Java » Beginning Java
Bookmark "Dynamic hirarchical Menu by object and array list" Watch "Dynamic hirarchical Menu by object and array list" New topic

Dynamic hirarchical Menu by object and array list

Gajen Pingalkar
Ranch Hand

Joined: Aug 29, 2006
Posts: 37
I want to develop growing menu hirarchical structure.
For that I have created one class, which have one list and different attributes,

If retrived all data from table in one list, how could I manage this data in one list, having objects. Each object contain one list, and further more. Data are growable, Please suggest code for achieving this structue.
mohsen fakhari

Joined: May 04, 2003
Posts: 25
I couldn't get what you mean.
Maybe others are like me too.
Joe Ess

Joined: Oct 29, 2001
Posts: 9189

Gajen, please don't post the same question more than once. It causes confusion and duplication of effort as the community tries to help everyone.
I agree with mohsen. I can't figure out what you are asking. Either you are being too vague with your questions or you are trying to get us to write your code for you.
You would do well to read our FAQ, How To Ask Questions On JavaRanch. The better question you ask, the better we can help you.

[How To Ask Questions On JavaRanch]
Pete Ihlenfeldt

Joined: Jan 24, 2008
Posts: 9
What you're talking about is the composite pattern.

The composite is a design structure that allows you to define objects that contain other objects, some of which may in turn contain more objects, and some which may not ("leaf nodes" in your menu tree).

I wish I could draw a UML diagram for you, but This Java World article explains it and has a diagram.

Basically you define a base class that is abstract and defines the contract for a primitive element in your containment structure. then, you extend that base class with two descendants, one that simply implements the contract specified by the base class (this will be your leaf node), and one that is a composite (a node that can contain other nodes).

Just a note too, after seeing your code... adhere to bean standards... no public members unless absolutely necessary... use accessor/mutator pairs. So your code would look something like this:

Base class

Leaf node class:

Composite node class:

Then all you have to do is run your DB query or whatever, and materialize the structure. Your primary containment for your main menu items is a Composite (CompositeMenuItem). Then just start adding components. If the component you're adding has sub-nodes, add a composite. If it doesn't, add a Leaf.

Play with that and see how it works.
Good luck
I agree. Here's the link:
subject: Dynamic hirarchical Menu by object and array list
It's not a secret anymore!