use of gimme.domaine.Propriete in project Synthese_2BIN by TheYoungSensei.
the class Controleur method chercherConstruteurs.
private List<Propriete> chercherConstruteurs(Class cls) {
List<Propriete> constructeurs = new ArrayList<Propriete>();
for (Constructor constructeur : cls.getDeclaredConstructors()) {
Visibilite visibilite = chercherVisibilite(constructeur.getModifiers());
boolean estStatique = false;
if (Modifier.isStatic(constructeur.getModifiers()))
estStatique = true;
String nom = constructeur.getName();
String ex = chercherExceptions(constructeur.getExceptionTypes());
Parameter[] parameters = constructeur.getParameters();
nom += " (";
nom += chercherParametres(parameters);
nom += ") " + ex;
Propriete prop = new Propriete(nom, estStatique, Modifier.isAbstract(constructeur.getModifiers()), visibilite);
constructeurs.add(prop);
}
return constructeurs;
}
use of gimme.domaine.Propriete in project Synthese_2BIN by TheYoungSensei.
the class Controleur method chercherConstructeurs.
private List<Propriete> chercherConstructeurs(Class cls) {
List<Propriete> constructeurs = new ArrayList<Propriete>();
for (Constructor constructeur : cls.getDeclaredConstructors()) {
Visibilite visibilite = chercherVisibilite(constructeur.getModifiers());
boolean estStatique = false;
if (Modifier.isStatic(constructeur.getModifiers()))
estStatique = true;
String nom = constructeur.getName();
String ex = chercherExceptions(constructeur.getExceptionTypes());
Parameter[] parameters = constructeur.getParameters();
nom += " (";
nom += chercherParametres(parameters);
nom += ") " + ex;
Propriete prop = new Propriete(nom, estStatique, Modifier.isAbstract(constructeur.getModifiers()), visibilite);
constructeurs.add(prop);
}
return constructeurs;
}
use of gimme.domaine.Propriete in project Synthese_2BIN by TheYoungSensei.
the class Controleur method chercherMethodes.
private List<Propriete> chercherMethodes(Class cls) {
List<Propriete> methodes = new ArrayList<Propriete>();
for (Method method : cls.getDeclaredMethods()) {
Visibilite visibilite = chercherVisibilite(method.getModifiers());
boolean estStatique = false;
if (Modifier.isStatic(method.getModifiers()))
estStatique = true;
String nom = method.getName();
String ex = chercherExceptions(method.getExceptionTypes());
Parameter[] parameters = method.getParameters();
nom += " (";
nom += chercherParametres(parameters);
nom += ") " + ex;
Propriete prop = new Propriete(nom + " : " + method.getReturnType().getSimpleName(), estStatique, Modifier.isAbstract(method.getModifiers()), visibilite);
methodes.add(prop);
}
return methodes;
}
use of gimme.domaine.Propriete in project Synthese_2BIN by TheYoungSensei.
the class Controleur method doGet.
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// Lecture init param 'chemin'
String chemin = this.getServletConfig().getInitParameter("chemin");
// Les données reçues sont multipart
Part part = request.getPart("fichier");
if (part.getSize() == 0) {
RequestDispatcher rd = request.getRequestDispatcher("index.jsp");
rd.forward(request, response);
return;
}
/*
* Il faut déterminer s'il s'agit d'un champ classique ou d'un champ de
* type fichier : on délègue cette opération à la méthode utilitaire
* getNomFichier().
*/
String nomFichier = getNomFichier(part);
if (nomFichier != null && !nomFichier.isEmpty()) {
String nomChamp = part.getName();
/*
* Antibug pour Internet Explorer, qui transmet pour une raison
* mystique le chemin du fichier local à la machine du client...
*
* Ex : C:/dossier/sous-dossier/fichier.ext
*
* On doit donc faire en sorte de ne sélectionner que le nom et
* l'extension du fichier, et de se débarrasser du superflu.
*/
nomFichier = nomFichier.substring(nomFichier.lastIndexOf('/') + 1).substring(nomFichier.lastIndexOf('\\') + 1);
nomFichier = nomFichier.substring(1, nomFichier.length() - 1);
/* Écriture du fichier sur le disque */
ecrireFichier(part, nomFichier, chemin);
request.setAttribute(nomChamp, nomFichier);
}
try {
String nomClasse = nomFichier.substring(0, nomFichier.length() - 6);
MyClassLoader cl = new MyClassLoader();
String fi = chemin + nomClasse + ".class";
Class cls = cl.findClass(fi);
Propriete laClasse = new Propriete(nomClasse, Modifier.isAbstract(cls.getModifiers()));
List<Propriete> attributs = new ArrayList<Propriete>();
for (Field field : cls.getDeclaredFields()) {
Visibilite visibilite = chercherVisibilite(field.getModifiers());
boolean estStatique = false;
if (Modifier.isStatic(field.getModifiers()))
estStatique = true;
String valDefaut = "";
Propriete prop = new Propriete(field.getName() + " : " + field.getType().getSimpleName() + valDefaut, estStatique, visibilite);
attributs.add(prop);
}
List<Propriete> methodes = chercherMethodes(cls);
List<Propriete> constructeurs = chercherConstruteurs(cls);
request.setAttribute("nom", nomClasse);
request.setAttribute("identite", laClasse);
request.setAttribute("attributs", attributs);
request.setAttribute("methodes", methodes);
request.setAttribute("constructeurs", constructeurs);
RequestDispatcher rd = request.getServletContext().getNamedDispatcher("Index");
rd.forward(request, response);
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
return;
}
Aggregations