Reflector for .NET; Is there a similar tool in Java?

Reflector for .Net by Lutz Roeder is an amazing tool! It let me track some hard coded stuff in the previous version of our product. It cleared up a lot of things.

The best part about reflector is that it is just 500kb but does a lot in a very simple and elegant way. I was wondering if there is a Reflector for Java out there? That would be a great tool in every Java developer’s toolkit.

Update: It seems I need to clarify a few things. So here goes. Reflector is not a IDE! I am not against using an IDE! I use Eclipse for Java development and I am very happy with it. In fact if you read my posts on eclipse, you will find that I am a big fan of Eclipse. I know that whatever Reflector offers are available in the IDEs in one form or another. Plugins help too. I agree! In fact I think most of what Reflector does, Visual Studio also does either natively or with extensions.

Here is why I needed something like Reflector. I am analyzing an existing application at work. I have to propose how this applications functionality to be ported to the ‘new architecture’. This application is in VB.Net. Now this application is well documented functionally. But there are certain things that can be understood only when looking at the code. I did not have access to the code at that moment. The process to get the code is long plus I do not understand VB.Net as well as Java or C#. ;-)

Anyway I had the application running on my PC. So I fired up Reflector and pointed the DLLs to it. It gave me a nice overview of the classes. I found the class I wanted to look at. It decompiled the code and show me the hard coded culprit in minutes. I am sure it would have taken longer to do this with an IDE. I also have no intentions of changing anything in this code base.

It is this simplicity and ease of use that I am looking for in ‘Reflector for Java’. And if I get a bit of time I might write one. Maybe once people use a tool like this they will find what a time saver it is.

Anyway do check out Reflector to see what it can do, even if you do not want to do anything with .Net and Microsoft.