File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
The moose likes Java in General and the fly likes Suitable datastructure for classes...? Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Java » Java in General
Bookmark "Suitable datastructure for classes...?" Watch "Suitable datastructure for classes...?" New topic

Suitable datastructure for classes...?

Fahd Shariff
Ranch Hand

Joined: Nov 22, 2002
Posts: 38
Can anyone suggest a suitable datastructure to represent java classes?
I have information of a given class e.g what its name is, what methods it has, what fields etc. I need to store this information in some way.
Should i just have something like this:
//a classstructure object which has a list of methods and fields and
whatever else there is...
class ClassStructure
String name ;
List methods ;
List fields ;
//the usual getter/setter methods
addMethod(MethodStructure m) ;
addField(FieldStructure f) ;
class MethodStructure
String name ;
List parameters ;
String body ;
I hope you understand what i am doing.
Is this the best way to represent a java class???
I need to do this so that i can carry out quick searches on source code. For example, I want to be able to say something like: "Get me all the
methods whose names begin with "get*" and return a String". So the program would return
getName(), getAddress() etc. I do not want to carry out a full text search.
Any comments would be appreciated

Fahd Shariff<br />"Let the code do the talking"
Cindy Glass
"The Hood"

Joined: Sep 29, 2000
Posts: 8521
Why don't you just use reflection to do this?

"JavaRanch, where the deer and the Certified play" - David O'Meara
Ranch Hand

Joined: Nov 22, 2008
Posts: 18944
To clarify what Cindy just said, the java.lang.Class is the "structure" you're looking for.
Fahd Shariff
Ranch Hand

Joined: Nov 22, 2002
Posts: 38
I know about the reflection api. But my ultimate goal is to create a database that contains lots of classes.
I have already created a parser that can parse java source and return all the information from a particular class(similar to the reflection api plus more info). But I would like to store this somewhere. Once stored i should be able to display the code in a number of ways.
Now the question is: what should the database "look like"? Should it be object oriented like i described previously, in the form of a tree, table? Which one would be the best?
I agree. Here's the link:
subject: Suitable datastructure for classes...?
It's not a secret anymore!