Browse Source

doc: Javadoc

Martin Passard 7 years ago
parent
commit
fd4831b346
4 changed files with 71 additions and 7 deletions
  1. 22 0
      src/IRC/Server.java
  2. 14 1
      src/data/ISP.java
  3. 31 6
      src/data/ISPDAO.java
  4. 4 0
      src/data/TechnoCoverage.java

+ 22 - 0
src/IRC/Server.java

@@ -5,6 +5,12 @@ import java.util.List;
 
 import main.AffichableSurIRC;
 
+/**
+ * Cette classe à pour but de stocker les serveurs/channels pour les FAI
+ * @author Marmat
+ *
+ */
+
 public class Server implements AffichableSurIRC{
 	private String address;
 	private int port;
@@ -36,6 +42,12 @@ public class Server implements AffichableSurIRC{
 		
 		
 	}
+	
+	/**
+	 * Extrait le port d'une URI. par exemple irc://geeknode.net:6789#marmat renveira 6789
+	 * @param s URI sur laquelle extraire le numéro de port
+	 * @return Le numéro de port
+	 */
 	private int getSrvPort(String s) {
 		int res;
 		if(s.contains(":")) {
@@ -53,6 +65,11 @@ public class Server implements AffichableSurIRC{
 		return res;
 	}
 
+	/**
+	 * Extrait l'addresse d'une URI. par exemple irc://geeknode.net:789#marmat renveira geeknode.net
+	 * @param s URI 
+	 * @return L'addresse 
+	 */
 	private String getSrvAddr(String s) {
 		String res="";
 		String serv=s.substring(7); // on enleve irc://
@@ -64,6 +81,11 @@ public class Server implements AffichableSurIRC{
 		return res;
 	}
 	
+	/**
+	 * Extrait le chan d'une URI. par exemple irc://geeknode.net:789#marmat renveira #marmat
+	 * @param s URI 
+	 * @return L'addresse 
+	 */
 	private String getSrvChan(String s) {
 		int idxcar = s.indexOf('#');
 		return s.substring(idxcar+1);

+ 14 - 1
src/data/ISP.java

@@ -17,7 +17,16 @@ public class ISP implements AffichableSurIRC {
 	private ISPdata data;
 	private CoveredAreas [] coveredAreas;
 	
-	
+	/**
+	 *  Constructeur principal de la classe.
+	 * @param name
+	 * @param id
+	 * @param isFFDNMember
+	 * @param date_added
+	 * @param last_update
+	 * @param data
+	 * @param ca
+	 */
 	
 	public ISP(String name, int id, boolean isFFDNMember, String date_added, String last_update, ISPdata data, CoveredAreas [] ca) {
 		super();
@@ -33,6 +42,10 @@ public class ISP implements AffichableSurIRC {
 		}
 	}
 	
+	/**
+	 * Méthode pour récuperer le plus court des noms du FAI, c'est à dire, si il existe shortname, sinon name
+	 * @return 
+	 */
 	public String getShortestName() {
 		if(data.hasShortName()) {
 			return data.getShortname();

+ 31 - 6
src/data/ISPDAO.java

@@ -26,17 +26,20 @@ import main.Main;
 public class ISPDAO {
 
 	/**
-	 * This class implements the Sigleton Design Patern and is the DataAcess Object. It's role is to get informations from <a href="db.ffdn.org"> db.ffdn.org </a> and transform the into data Objects.
+	 * Cette classe implémente le design patern singleton. Son role est de récuperer les données de <a href="db.ffdn.org"> db.ffdn.org </a> et de les transformer en objets utilisables ensuite.
 	 */
 
 	public static volatile ISPDAO instance = null;
 	private final String dbAdress = "https://db.ffdn.org/api/v1/isp/";
 
-
+	// Ceci permet de rendre impossible l'instanciation de la classe, conformement au design patern singleton.
 	private ISPDAO() {
 
 	}
-
+	/**
+	 * Cette méthode est celle permettant de récuperer l'instance de la classe. Si cette dernière n'est pas initialisée, elle l'initialise avant.
+	 * @return L'instance de la classe a utiliser ensuite
+	 */
 	public final static ISPDAO getInstance() {
 		if (ISPDAO.instance == null) {
 			synchronized (ISPDAO.class) {
@@ -48,10 +51,22 @@ public class ISPDAO {
 		return ISPDAO.instance;
 	}
 
+	/**
+	 * Version simplifiée : Execute une requette de type GET en HTTPS simplement avec l'addresse et avec les paramètres par défault pour du https
+	 * @param https_url URL a récuperer en HTTPS
+	 * @return La chaine de caractères correspondant à la page demandée par l'URL.
+	 */
 	private String executeGet(String https_url) {
 		return executeGet(https_url, "", 443);
 	}
 	
+	/**
+	 * Implementation reele de la requete HTTPS.
+	 * @param https_url URL sur laquelle récuperer la ressource
+	 * @param proxyName Le nom du proxy, si besoin
+	 * @param port le port sur lequel faire la demande
+	 * @return La chaine de caractères correspondant à la page demandée par l'URL.
+	 */
 	@SuppressWarnings("resource")
 	private String executeGet(final String https_url, final String proxyName, final int port) {
 	    String ret = "";
@@ -98,8 +113,8 @@ public class ISPDAO {
 
 
 	/**
-	 * 
-	 * @return List of ISPs constructed.
+	 * Récupere tous les FAI possibles. Dans le cas ou il y a des Fails consécutifs, c'est que peut-être DB.ffdn est deffectueux, car on a pas atteint le nombre de fai annoncés par total_items, mais on n'as que des réponses indiquant que la ressource est incorrecte.
+	 * @return la liste de tous les FAIs possibles.
 	 */
 	public List<ISP> getISPs() throws Exception{
 		
@@ -125,7 +140,12 @@ public class ISPDAO {
 		return ar;
 
 	}
-
+	
+	/**
+	 * Récupere le FAI qui a pour id dans db.ffdn.org le paramètre number
+	 * @param number numéro correspondna tà l'id a aller chercher dans db
+	 * @return le FAI construit correspondant, ou null si l'id n'est pas ou plus occupé par un FAI
+	 */
 
 	public ISP getISP(int number) {
 		String json = executeGet(dbAdress+number+'/');
@@ -220,6 +240,11 @@ public class ISPDAO {
 		return res;
 	}
 	
+	/**
+	 * Récupere les données
+	 * @param json objet récupéré depuis db.ffdn
+	 * @return Tableau des zones couvertes
+	 */
 	private CoveredAreas [] getCoveredAreas(JSONObject json) {
 		json = json.getJSONObject("ispformat");
 		CoveredAreas [] res=null;

+ 4 - 0
src/data/TechnoCoverage.java

@@ -1,6 +1,10 @@
 package data;
 
 public enum TechnoCoverage {
+	/**
+	 * Cette enum permet de de transformer toutes les techno annoncée dans les zones couvertes en une valeur.
+	 */
+	
 	VPN,FTTH,ADSL,VDSL,xDSL,WIFI,PIGEON,CABLE,AUTRE;
 	
 	public String toString() {