Bonjour,

Je ne sais pas trop comment expliquer mon problème, alors me tapez pas si c'est pas très clair.

J'ai fais des classes permettant de lire des données depuis une base. Chaque instance représente une ligne. Pour des problèmes de mise à jour, ces instances ne sont pas gardée (non statique). Exemple :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
public class Personne {
  public Personne (String identifiant){
    //Lecture de la ligne dans la base
  }
  //etc ...
}
Dans l'application, j'ai des écrans utilisateurs qui pointent vers une certaine instance :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
public class EcranPersonne {
  private Personne personneAffichée;
  //etc ...
}
Maintenant, dans une autre classe indépendante, je voudrais savoir si une personne avec tel identifiant est déjà en cours d'utilisation quelque pars, du style :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
public class Traitement{
  public void mettreAJour(){
    // Trouver si un objet ayant cet identifiant existe
    if (Personne.getInstance(identifiant) != null)
      Personne.getInstance(identifiant).faireUnTraitement();
  }
}
Est-ce possible sans passer par des champs statiques, et sans faire de lien entre les classes "EcranPersonne" et "Traitement" ?

Je préfère éviter un champ statique, car celà m'obligerait à vérifier qu'elle n'a pas besoin d'être mise à jour, et je ne trouve pas comment assurer que cette instance est supprimée lorsqu'elle n'est plus utilisée.