summaryrefslogtreecommitdiff
path: root/sem_5/HLIN505_Java/HLIN505/src/tp7/fabriquePerso.java
blob: 5123c79cb51650ad1138d68f80e82a0de0652b21 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
package tp7;

import java.lang.reflect.*;
import java.util.ArrayList;

public class fabriquePerso {
	public Personnage creer(String name) throws ClassNotFoundException, InstantiationException, IllegalAccessException {
		if (name.equals("Persoinvisible") || name.equals("Persobonus")) {
			Class t = Class.forName(name);
			Personnage ret = (Personnage) t.newInstance();
			return ret;
		}
		else {
			return null;
		}
	}
	public Personnage ficheperso (Personnage pers) {
		Class c=pers.getClass();
		Field[] fields = c.getDeclaredFields();
		ArrayList<Field> AF = tabtoarray(fields);
		Method[] Methodes = c.getDeclaredMethods();
		while ((c=c.getSuperclass()) != null) {
			Field[] tmp = c.getDeclaredFields();
			for (Field f : tmp) {
				AF.add(f);
			}
			
		}
		System.out.println("Entrer");
	}
	public ArrayList<Field> tabtoarray(Field[] f){
		ArrayList<Field> ret = new ArrayList<Field>();
		for (int i =0; i < f.length; i ++) {
			ret.add(f[i]);
		}
		return ret;
	}
}