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