Consider this package structure
java.assignments
    Main.java
    java.assignments.lab1
        Exe1.java
    java.assignments.lab2
        Exe1.java
        Exe2.java
        Exe3.java
    java.assignments.lab3
        Exe1.java
        Exe2.java
        Exe3.java
        Exe4.java
and so on.
- I want to write the main class in such a way that if I give the command like 
 - $ java java.assignments.Main exe java.assignments.lab2.Exe2The program should execute the main method stored in- lab2.Exe2.java
- If I give - $ java java.assignments.Main src java.assignments.lab2.Exe2The program should print the source code of Exe2.java- I would prefer if the source code displayed included comments that I write in the program. 
- If I give - $ java java.assignments.Main listIt should list all the packages and the classes contained in- java.assignments- If I give - $ java java.assignments.Main list java.assignements.lab3It should list all the classes contained in- java.assignments.lab3
Are these things possible ? and if yes how do I achieve this .
The stuff I have found out till now ,
I found out that I can dynamically load and execute classes #1#  from this tutorial, 
but how do I achieve #2# displaying Source code and listing packages #3#
 
     
     
    