Просмотр исходного кода

Creation fichier pour chaque table

Arthur Brandao 5 лет назад
Родитель
Сommit
45ffef1205

+ 83 - 0
src/db/table/EcoleTable.java

@@ -0,0 +1,83 @@
+package db.table;
+
+import java.util.List;
+import java.util.Optional;
+
+import db.Table;
+import db.annotation.DbTable;
+import entity.Ecole;
+
+@DbTable(name = "Ecole", entity = Ecole.class)
+public class EcoleTable extends Table<Ecole> {
+	
+	private static EcoleTable instance;
+	private static VilleTable vt = VilleTable.getInstance();
+	private static NiveauTable nt = NiveauTable.getInstance();
+	
+	private EcoleTable() {
+		// Private constructor for singleton
+	}
+		
+	@Override
+	public Optional<Ecole> findById(long id) {
+		Optional<Ecole> opt = super.findById(id);
+		if (opt.isEmpty()) {
+			return opt;
+		}
+		return Optional.of(link(opt.get()));
+	}
+
+	@Override
+	public Ecole getById(long id) {
+		return link(super.getById(id));
+	}
+
+	@Override
+	public List<Ecole> getByField(String fieldname, Object value) {
+		return link(super.getByField(fieldname, value));
+	}
+
+	@Override
+	public List<Ecole> getWhere(List<String> where, List<Object> params) {
+		return link(super.getWhere(where, params));
+	}
+
+	@Override
+	public List<Ecole> getAll() {
+		return link(super.getAll());
+	}
+
+	@Override
+	public void save(Ecole obj) {
+		vt.save(obj.ville);
+		nt.save(obj.niveau);
+		obj.villeId = obj.ville.id;
+		obj.niveauId = obj.niveau.id;
+		super.save(obj);
+	}
+
+	private Ecole link(Ecole obj) {
+		if(obj == null) {
+			return null;
+		}
+		obj.ville = vt.getById(obj.villeId);
+		obj.niveau = nt.getById(obj.niveauId);
+		return obj;
+	}
+	
+	private List<Ecole> link(List<Ecole> list) {
+		if(list.isEmpty()) {
+			return list;
+		}
+		list.forEach(elt -> link(elt));
+		return list;
+	}
+	
+	public static EcoleTable getInstance() {
+		if(instance == null) {
+			instance = new EcoleTable();
+		}
+		return instance;
+	}
+
+}

+ 81 - 0
src/db/table/FrequentationTable.java

@@ -0,0 +1,81 @@
+package db.table;
+
+import java.util.List;
+import java.util.Optional;
+
+import db.Table;
+import entity.Frequentation;
+
+public class FrequentationTable extends Table<Frequentation>{
+
+	private static FrequentationTable instance;
+	private static EspaceTable et = EspaceTable.getInstance();
+	private static UsagerTable ut = UsagerTable.getInstance();
+	
+	private FrequentationTable() {
+		// Private constructor for singleton
+	}
+	
+	@Override
+	public Optional<Frequentation> findById(long id) {
+		Optional<Frequentation> opt = super.findById(id);
+		if (opt.isEmpty()) {
+			return opt;
+		}
+		return Optional.of(link(opt.get()));
+	}
+
+	@Override
+	public Frequentation getById(long id) {
+		return link(super.getById(id));
+	}
+
+	@Override
+	public List<Frequentation> getByField(String fieldname, Object value) {
+		return link(super.getByField(fieldname, value));
+	}
+
+	@Override
+	public List<Frequentation> getWhere(List<String> where, List<Object> params) {
+		return link(super.getWhere(where, params));
+	}
+
+	@Override
+	public List<Frequentation> getAll() {
+		return link(super.getAll());
+	}
+
+	@Override
+	public void save(Frequentation obj) {
+		et.save(obj.espace);
+		ut.save(obj.usager);
+		obj.espaceId = obj.espace.id;
+		obj.usagerId = obj.usager.id;
+		super.save(obj);
+	}
+
+	private Frequentation link(Frequentation obj) {
+		if(obj == null) {
+			return null;
+		}
+		obj.espace = et.getById(obj.espaceId);
+		obj.usager = ut.getById(obj.usagerId);
+		return obj;
+	}
+	
+	private List<Frequentation> link(List<Frequentation> list) {
+		if(list.isEmpty()) {
+			return list;
+		}
+		list.forEach(elt -> link(elt));
+		return list;
+	}
+	
+	public static FrequentationTable getInstance() {
+		if(instance == null) {
+			instance = new FrequentationTable();
+		}
+		return instance;
+	}	
+	
+}

+ 23 - 0
src/db/table/NiveauTable.java

@@ -0,0 +1,23 @@
+package db.table;
+
+import db.Table;
+import db.annotation.DbTable;
+import entity.Niveau;
+
+@DbTable(name = "Niveau", entity = Niveau.class)
+public class NiveauTable extends Table<Niveau> {
+	
+	private static NiveauTable instance;
+	
+	private NiveauTable() {
+		// Private constructor for singleton
+	}
+	
+	public static NiveauTable getInstance() {
+		if(instance == null) {
+			instance = new NiveauTable();
+		}
+		return instance;
+	}
+	
+}

+ 83 - 0
src/db/table/UsagerTable.java

@@ -0,0 +1,83 @@
+package db.table;
+
+import java.util.List;
+import java.util.Optional;
+
+import db.Table;
+import db.annotation.DbTable;
+import entity.Usager;
+
+@DbTable(name = "Usager", entity = Usager.class)
+public class UsagerTable extends Table<Usager> {
+	
+	private static UsagerTable instance;
+	private static VilleTable vt = VilleTable.getInstance();
+	private static EcoleTable et = EcoleTable.getInstance();
+	
+	private UsagerTable() {
+		// Private constructor for singleton
+	}
+	
+	@Override
+	public Optional<Usager> findById(long id) {
+		Optional<Usager> opt = super.findById(id);
+		if (opt.isEmpty()) {
+			return opt;
+		}
+		return Optional.of(link(opt.get()));
+	}
+
+	@Override
+	public Usager getById(long id) {
+		return link(super.getById(id));
+	}
+
+	@Override
+	public List<Usager> getByField(String fieldname, Object value) {
+		return link(super.getByField(fieldname, value));
+	}
+
+	@Override
+	public List<Usager> getWhere(List<String> where, List<Object> params) {
+		return link(super.getWhere(where, params));
+	}
+
+	@Override
+	public List<Usager> getAll() {
+		return link(super.getAll());
+	}
+
+	@Override
+	public void save(Usager obj) {
+		vt.save(obj.ville);
+		et.save(obj.ecole);
+		obj.villeId = obj.ville.id;
+		obj.ecoleId = obj.ecole.id;
+		super.save(obj);
+	}
+
+	private Usager link(Usager obj) {
+		if(obj == null) {
+			return null;
+		}
+		obj.ville = vt.getById(obj.villeId);
+		obj.ecole = et.getById(obj.ecoleId);
+		return obj;
+	}
+	
+	private List<Usager> link(List<Usager> list) {
+		if(list.isEmpty()) {
+			return list;
+		}
+		list.forEach(elt -> link(elt));
+		return list;
+	}
+	
+	public static UsagerTable getInstance() {
+		if(instance == null) {
+			instance = new UsagerTable();
+		}
+		return instance;
+	}	
+
+}

+ 1 - 1
src/db/table/VilleTable.java

@@ -7,7 +7,7 @@ import entity.Ville;
 @DbTable(name = "Ville", entity = Ville.class)
 public class VilleTable extends Table<Ville> {
 	
-private static VilleTable instance;
+	private static VilleTable instance;
 	
 	private VilleTable() {
 		// Private constructor for singleton

+ 31 - 0
src/entity/Ecole.java

@@ -0,0 +1,31 @@
+package entity;
+
+import db.Persistable;
+import db.annotation.DbField;
+import db.annotation.DbId;
+
+public class Ecole implements Persistable {
+	
+	@DbId
+	@DbField(name = "ID")
+	public long id;
+	
+	@DbField(name = "LIBELLE")
+	public String libelle;
+	
+	@DbField(name = "VILLE")
+	public long villeId;
+	
+	@DbField(name = "NIVEAU")
+	public long niveauId;
+	
+	public Ville ville;
+	
+	public Niveau niveau;
+
+	@Override
+	public long getId() {
+		return id;
+	}
+
+}

+ 35 - 0
src/entity/Frequentation.java

@@ -0,0 +1,35 @@
+package entity;
+
+import java.util.Date;
+
+import db.Persistable;
+import db.annotation.DbField;
+import db.annotation.DbId;
+
+public class Frequentation implements Persistable {
+
+	@DbId
+	@DbField(name = "ID")
+	public long id;
+	
+	@DbField(name = "ESPACE")
+	public long espaceId;
+	
+	@DbField(name = "USAGER")
+	public long usagerId;
+	
+	@DbField(name = "DATE")
+	public Date date;
+	
+	public Espace espace;
+	
+	public Usager usager;
+	
+	@Override
+	public long getId() {
+		return id;
+	}
+
+	
+	
+}

+ 21 - 0
src/entity/Niveau.java

@@ -0,0 +1,21 @@
+package entity;
+
+import db.Persistable;
+import db.annotation.DbField;
+import db.annotation.DbId;
+
+public class Niveau implements Persistable {
+	
+	@DbId
+	@DbField(name = "ID")
+	public long id;
+	
+	@DbField(name = "LIBELLE")
+	public String libelle;
+
+	@Override
+	public long getId() {
+		return id;
+	}
+
+}

+ 57 - 0
src/entity/Usager.java

@@ -0,0 +1,57 @@
+package entity;
+
+import java.util.Date;
+
+import db.Persistable;
+import db.annotation.DbField;
+import db.annotation.DbId;
+
+public class Usager implements Persistable {
+	
+	@DbId
+	@DbField(name = "ID")
+	public long id;
+	
+	@DbField(name = "NOM")
+	public String nom;
+	
+	@DbField(name = "PRENOM")
+	public String prenom;
+	
+	@DbField(name = "DATEDENAISSANCE")
+	public Date dateNaiss;
+	
+	@DbField(name = "EMAIL")
+	public String email;
+	
+	@DbField(name = "TELEPHONE")
+	public String telephone;
+	
+	@DbField(name = "CONTACTURGENCE")
+	public String contactUrgence;
+	
+	@DbField(name = "CODE")
+	public String code;
+	
+	@DbField(name = "SCOLAIRE")
+	public boolean scolaire;
+	
+	@DbField(name = "DESCRIPTION")
+	public String description;
+	
+	@DbField(name = "VILLE")
+	public long villeId;
+	
+	@DbField(name = "ECOLE")
+	public long ecoleId;
+	
+	public Ville ville;
+	
+	public Ecole ecole;
+
+	@Override
+	public long getId() {
+		return 0;
+	}
+
+}