4619e4b11b0db1c4c6210b1daa757633b7d7bbf2
[jpf-core.git] / examples / Reflection.java
1 import java.lang.reflect.Method;
2 import java.lang.reflect.Type;
3 import java.lang.reflect.TypeVariable;
4
5 import java.util.List;
6 import java.util.Map;
7 import java.util.ArrayList;
8
9 public class Reflection {
10
11         class Generic<TUVW,ABCD,KLM,NOP> {
12         
13         }
14
15         class SampleClass {
16            private String sampleField;
17
18            public Generic<Integer,String,Double,Short> setSampleField(List<String> listString, Map<Integer,String> mapString,
19                                 Generic<Integer,String,Double,Short> test,
20                                 String sampleField, int one, short two, double three, Object obj) {
21                   this.sampleField = sampleField; 
22                   return test;
23            }
24            
25            /*
26            public String getSampleField() {
27                   return sampleField;
28            }
29            
30            public void setSampleField(String sampleField) {
31               this.sampleField = sampleField;
32            }
33            
34            public List<String> setSampleField(List<String> listString) {
35                   return listString;
36            }*/
37         }
38
39    public static void main(String[] args) {
40
41       Method[] methods = SampleClass.class.getMethods();
42       Type[] parameters = methods[0].getGenericParameterTypes();
43       //Type[] parameters = methods[0].getGenericParameterTypes();
44       for (int i = 0; i < parameters.length; i++) {
45          System.out.println(parameters[i]);
46       }
47       System.out.println();
48       Class[] parameterTypes = methods[0].getParameterTypes();
49       for(Class parameterType: parameterTypes){
50          System.out.println(parameterType.getName());   
51  
52       }
53       System.out.println();
54       /*TypeVariable[] typeParameters = Generic.class.getTypeParameters();
55       for(TypeVariable typeVar: typeParameters){
56          System.out.println(typeVar);   
57  
58       }
59       System.out.println();*/
60       Type returnType = methods[0].getGenericReturnType();
61       System.out.println(returnType);
62    }
63 }
64