Sommaire

Exemple en Java

Nous commençons la présentation de l’exemple Java par le mémento. Celui-ci est décrit par l’interface Memento et la classe MementoImpl. La classe introduit les méthodes getEtat et setEtat dont l’invocation est réservée au seul chariot. L’interface est vide, elle ne sert qu’à déterminer un type pour les autres objets qui doivent référencer le mémento sans pouvoir accéder aux méthodes getEtat et setEtat.

Le mémento stocke l’état du chariot d’options à savoir une liste qui est construite par duplicata de la liste des options du chariot.

public interface Memento 
{ 
} 
 
import java.util.ArrayList; 
import java.util.List; 
public class MementoImpl implements Memento 
{ 
  protected List<OptionVehicule> options =  
    new ArrayList<OptionVehicule>(); 
 
  public void setEtat(List<OptionVehicule> options) 
  { 
    this.options.clear(); 
    this.options.addAll(options); 
  } 
 
  public List<OptionVehicule> getEtat() 
  { 
    return options; 
  } 
}

La classe ChariotOption décrit les chariots. La méthode ajouteOption procède bien à la suppression des options incompatibles de la nouvelle option avant d’ajouter celle-ci. Cette méthode crée un nouveau mémento qui reçoit l’état initial, mémento qui est renvoyé à ...