Program 3
- Assigned date: October 16, 2003
- Due date: October 23, 2003 (@5:30 p.m.)
- Delivery mechanism: hard copy (compiled .java source code +
output of program)
- Grade: 50 points on time or 25 points for late.
Program description:
This program deals with Java reflections. You will read a .jar file
(name of the .jar file will be passed as an argument to your driver
program) and reverse engineer the content of the .jar file. A .jar
file is a jar of one or more .class files (each .class can represent
an interface or a class).
What is a reverse enginnering of a .jar file? It means that for each
.class file you need to emit the necessary information such as:
- class/interface name
- constructors
- fields
- methods
- other meta data information
...
You may use java.util.jar (JarFile, ...) and other packages to extract the
.jar elements and the use the Java's reflection classes/interfaces to
reverse engineer the elements.
To see the table of contents of a .jar file:
jar t < file.jar
Grading Policy
Your program will be graded based on:
- correct solution (25 points)
- Java DOC style documentation (10 points)
- design (15 points)
- BONUS (5-10 points if you qualify)
Input .jar File
Input .jar File will be provided on Tuesday, October 21, 2003.
You may test your program with other .jar files.