Archive pour la catégorie 'Programmation'

Introspection et types paramétrés en Java

Mardi 19 juin 2007

Plusieurs fois déjà, j’ai eu recours à l’introspection pour extraire la structure de donnée encapsulée dans une classe Java. Avec quelques méthodes classiques des classes Class et Field, on réussit à extraire pas mal de chose :

  1. Dans un objet de type Class, getDeclaredFields permet d’obtenir la liste des attributs de cette classe, et getSuperclass permet de naviguer dans les classes parentes de l’arbre d’héritage pour récupérer les attributs hérités.
  2. Dans un objet de type Field, getName() donne le nom de cet attribut et getDeclaringClass donne son type déclaré (l’instance pouvant être d’un type héritant de ce type déclaré).

Viennent ensuite les types paramétrés qui contiennent de l’information supplémentaire sur la structure de données. En effet un attribut de type List<integer></integer>, ne sera considéré que comme un attribut de type List avec les méthodes précédentes. Or, le fait que cette liste contiennent des entiers est une information importante. De même un attribut de type List<list <MaClasse>></list>, n’est pas une vulgaire liste, mais bien un élément complexe de la structure de donnée. Il est donc important de bien gérer ces types paramétrés lors d’une telle introspection.

(more…)

Greffon anti-spam

Mardi 12 juin 2007

Bon, on ne peut pas dire que j’aligne les billets en ce moment … Par contre, je suis spammé dans les commentaires de mes billets. Ces commentaires n’apparaissent pas car ils doivent d’abord passer par une étape de modération manuelle. Mais, c’est tout de même rébarbatif de devoir les vérifier avant de les supprimer !

C’est pour ça que j’ai voulu mettre en place un anti-spam. J’ai vaguement cherché sur le site de wordpress, mais je n’ai pas trouvé grand chose. En fait, je cherchais quelquechose de simple, pour moi et pour l’utilisateur. J’ai alors trouvé le greffon comment-policy qui demande simplement de cocher une case pour que le commentaire soit pris en compte.

C’est donc à partir de cette méthode, que j’ai créé mon propre plugin qui ne fait rien qu’ajouter un champ dans le formulaire de saisie d’un commentaire. Pour que le commentaire soit valide, il faut laisser le champ vide. J’ai déjà vu cette méthode sur d’autres sites, et ça me paraît pas mal. Je verrai à l’usage.

En attendant, si ça vous intéresse vous pouvez le télécharger pour voir à quoi ça ressemble (rien de bien sorcier), et pourquoi pas l’essayer.