IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

API standards et tierces Java Discussion :

Annotation validation paramètres


Sujet :

API standards et tierces Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre chevronné
    Avatar de bricecol
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Avril 2007
    Messages
    364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Avril 2007
    Messages : 364
    Par défaut Annotation validation paramètres
    Bonjour tout le monde.

    Je suis à la recherche d'une librairie Java me permettant de valider la majeure partie des paramètres de mes fonctions grâce à des annotations.

    Concrètement :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    public Member create(String username, String password) throws Exception {
      if (StringUtils.isBlank(username)) {
        throw new NullPointerException("username");
      }
      if (StringUtils.isBlank(password)) {
        throw new NullPointerException("password");
      }
     
      // traitements ici après vérifications
    }
    J'aimerais quelque chose du style :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    public Member create(@NotNull String username, @NotNull String password) throws Exception {
      // traitements ici après vérifications
    }
    Bien sûr, je sais qu'il existe des choses du côté des frameworks comme spring,
    mais ce que je veux c'est une librairie très simple (et légère si possible) qui ne fait que çà.
    Je ne dis pas non si on peut faire plus, mais que des vérifications, pas de dépendances inimaginables, pas de configuration interminable ...

    Est-ce que vous connaissez une telle librairie ?

    Merci d'avance pour votre aide !

    PS : Je crois être tombé sur une librairie de ce type il y a quelque temps mais je ne me rappel plus comment et comme un idiot je ne l'ai pas gardé en marque page !

  2. #2
    Expert confirmé
    Avatar de sekaijin
    Homme Profil pro
    Urbaniste
    Inscrit en
    Juillet 2004
    Messages
    4 205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Urbaniste
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2004
    Messages : 4 205
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    import static org.junit.Assert.*;
     
    public Member create(String username, String password, String[] properties) throws Exception {
      assertNotNull(username);
      assertThat("interdit de créer un membre dont le nom contient 'admin'", username, not(containsString("admin"))) ;
      assertNotNull(password);
      assertNotNull(properties);
      assertThat("Un Membre doit avoir au moins une propriété", properties.lentgh(), is(not(0))) ;
     
      // traitements ici après vérifications
    }
    voir http://www.junit.org/apidocs/org/junit/Assert.html

    tu peux lire
    http://rpouiller.developpez.com/tuto...es-junit4/#LIV

    les Assert de JUNIT ont à l'origine été définis pour les tests mais elle peuve servir à vérifier n'importe quelle assertion

    A+JYT

  3. #3
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    Ca s'appelle de la programmation par contrat.

    Un article ici:
    http://www.developpez.net/forums/d10...ation-contrat/

  4. #4
    Membre chevronné
    Avatar de bricecol
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Avril 2007
    Messages
    364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Avril 2007
    Messages : 364
    Par défaut
    Oui je savais que c'était de la programmation par contrat, mais me manquait la librairie.
    C'est effectivement très intelligent d’utiliser JUnit pour çà d'autant plus que JUnit est déjà dans
    tout projet Java qui se respecte pour les tests unitaires.

    J'en avait trouvé une autre mais va pour JUnit !
    C'est bête de ne pas y avoir pensé !

    Merci beaucoup !

  5. #5
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    le lien que j'avais donné contient un librairie dédié à ça

  6. #6
    Membre chevronné
    Avatar de bricecol
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Avril 2007
    Messages
    364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Avril 2007
    Messages : 364
    Par défaut
    Oui pardon, bien sûr j'ai regardé çà. Très intéressant, merci tchize_ !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Le paramètre 'exePath' n'est pas valide
    Par z.serge dans le forum Général Dotnet
    Réponses: 7
    Dernier message: 15/06/2009, 15h07
  2. Validation paramètres PL/SQL : Comment ?
    Par central.jaco dans le forum PL/SQL
    Réponses: 6
    Dernier message: 24/06/2008, 21h36
  3. [W3C] objetc paramètre validation w3C
    Par yuyu599 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 9
    Dernier message: 26/04/2008, 13h27
  4. Réponses: 1
    Dernier message: 21/02/2008, 10h23
  5. Réponses: 13
    Dernier message: 30/07/2007, 14h51

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo