Friday, 1 May 2015

Creating a program that works as javap tool (Reflection Session-4)

Creating a program that works as javap tool
Following methods of java.lang.Class class can be used to display the metadata of a class.
Method
Description
public Field[] getDeclaredFields()throws SecurityException
returns an array of Field objects reflecting all the fields declared by the class or interface represented by this Class object.
public Constructor[] getDeclaredConstructors()throws SecurityException
returns an array of Constructor objects reflecting all the constructors declared by the class represented by this Class object.
public Method[] getDeclaredMethods()throws SecurityException
returns an array of Method objects reflecting all the methods declared by the class or interface represented by this Class object.
Example of creating javap tool
Let's create a program that works like javap tool.
1.    import java.lang.reflect.*;  
2.      
3.    public class MyJavap{  
4.       public static void main(String[] args)throws Exception {  
5.        Class c=Class.forName(args[0]);  
6.          
7.        System.out.println("Fields........");  
8.        Field f[]=c.getDeclaredFields();  
9.        for(int i=0;i<f.length;i++)  
10.         System.out.println(f[i]);  
11.       
12.     System.out.println("Constructors........");  
13.     Constructor con[]=c.getDeclaredConstructors();  
14.     for(int i=0;i<con.length;i++)  
15.         System.out.println(con[i]);  
16.       
17.         System.out.println("Methods........");  
18.     Method m[]=c.getDeclaredMethods();  
19.     for(int i=0;i<m.length;i++)  
20.         System.out.println(m[i]);  
21.    }  
22. }  
At runtime, you can get the details of any class, it may be user-defined or pre-defined class.

Output:



No comments:

Post a Comment

Access attributes in component

NOTE: To access an attribute in a  component , use expressions as  {! v.<Attribute Name>} . ----------------------------------------...