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

avec Java Discussion :

Problème fonction générique


Sujet :

avec Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    434
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Juin 2010
    Messages : 434
    Par défaut Problème fonction générique
    Bonjour à tous,

    J'ai besoin de votre aide.

    J'ai créé une fonction qui permet de vérifier plusieurs fichiers xml. Cette fonction je veux l'appeller dans différentes classes. Cependant suivant la classe dans laquelle je l'appelle je veux que la fonction vérifie seulement certains fichiers xml, pas tous.

    J'ai pensais à faire une classe abstraite que je développerais dans les différentes classes en question. Mais n'y a t il pas un moyen de faire cette fonction en générique ? Ainsi quand j'appelle la fonction dans le main principal de ma classe, seulement certains xml sont vérifiés. Cependant je ne sais pas trop comment faire.

    Je ne sais pas si j'ai été assez clair donc n'hésitez pas à me demander plus d'infos.

    Merci beaucoup pour votre aide

  2. #2
    Membre éclairé
    Homme Profil pro
    NoOb
    Inscrit en
    Mai 2007
    Messages
    554
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : NoOb

    Informations forums :
    Inscription : Mai 2007
    Messages : 554
    Par défaut
    Bonjour,

    Pourquoi ne pas simplement passer en paramètres les fichiers que tu souhaites vérifier?

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    434
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Juin 2010
    Messages : 434
    Par défaut
    Car ils varient.

    Suivant la classe où je me trouve je peux par exemple vouloir vérifier 3 documents xml. Mais dans une autre classe je peux vouloir en vérifier 1 seul.

  4. #4
    Membre expérimenté
    Homme Profil pro
    Développeur Java
    Inscrit en
    Juillet 2009
    Messages
    130
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2009
    Messages : 130
    Par défaut
    Bonjour,

    je ne vois pas le problème, il suffit de passer une liste de fichier en paramètres puis de la parcourir et a chaque fichier faire le traitement.

    Exemple

    signature de la méthode :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    public void fonction(List<String> fichiers){
     
    }
    différents appels :

    1-
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    List<String> li = new ArrayList<String>();
    li.add("ex1.xml");
    li.add("ex2.xml");
    fonction(li);

    2-
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    List<String> li = new ArrayList<String>();
    li.add("ex1.xml");
    li.add("ex2.xml");
    li.add("ex3.xml");
    li.add("ex4.xml");
    fonction(li);
    3-
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    List<String> li = new ArrayList<String>();
    li.add("ex1.xml");
    fonction(li);

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    434
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Juin 2010
    Messages : 434
    Par défaut
    Ta réponse est trés bien

    Mais je voulais savoir si il n'y avait pas plus simple pour ne pas a chaque appel devoir configurer une liste.

    Par exemple avoir une fonction de ce type :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    public void fonction<T>(){
     
           if (<T> == "Ariane") {
     
                   File f = new file("...");
                   File f1 = new file("...");
                   verifA1(f);
                   verifA2(f1);
          }
     
          if (<T> == "Losange"){
     
                 File f = new file("...");
                 verifL1(f);
          }
     
         etc
     
    }
    Et ainsi par exemple lor d'un appel :
    Je ne sais pas si c'est faisable

    Merci de ton aide en tout cas

  6. #6
    Expert éminent
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Billets dans le blog
    1
    Par défaut
    Salut,

    Ceci n'a rient à voir avec les Generics...
    Les Generics permettent de spécifier le type de certains objets de la méthode. Ce n'est pas un paramètre !



    Soit tu utilises un paramètres :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    public void fonction(int type) { // avec une enum à la place du int ce serait mieux
    	switch (type) {
    	case 1:
    		verifA1(new file("..."));
    		verifA2(new file("..."));
    		break;
    	case 2:
    		verifL1(new file("..."));
    		break;
    	}
    }



    Soit tu écris deux méthodes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    public void fonction1() {
    	verifA1(new file("..."));
    	verifA2(new file("..."));
    }
     
    public void fonction2() {
    	verifL1(new file("..."));
    }


    a++

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

Discussions similaires

  1. Problème : Fonctions et commande Execute
    Par bubi dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 15/11/2005, 11h01
  2. Problème fonction SDL
    Par seeme dans le forum SDL
    Réponses: 2
    Dernier message: 06/11/2005, 20h22
  3. Problème fonction PL/SQL
    Par SSJ17Vegeta dans le forum PL/SQL
    Réponses: 2
    Dernier message: 29/10/2005, 21h14
  4. Problème fonction et trigger sous 7.2
    Par anoukhan dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 22/06/2005, 22h53
  5. Réponses: 2
    Dernier message: 20/08/2004, 17h10

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