import madkit.kernel.AgentAddress;
import java.io.Serializable;


/**
 * Une classe représentant les informations d'un vendeur
 * 
 * @author Vincent Delord & Alexandre Lanoix
 * @version 1
 * @see java.io.Serializable
 */


 public class InfoCard implements Serializable{

     /**
      * L'adresse de l'agent
      *
      * @see getAddressVendeur()
      */
     private AgentAddress agentAddress;
     
     /**
      * Le groupe auquel appartient l'agent
      *
      * @see getGroup()
      */
     private String group;
     
     /**
      * Le poisson vendu par l'agent Vendeur
      *
      * @see getMarchandise()
      */
     private String marchandise;

     /**
      * La carte d'accès que fournit l'agent Vendeur 
      *
      * @see getAccessCard()
      */
     private String accessCard;

     /**
      * Le nom de l'agent Vendeur
      *
      *@see getNomVendeur()
      */
     private String nomVendeur;
     


     /******************** Constructeur **********************/
     
     /**
      * Constructeur qui initialise les caractéristiques de l'agent Vendeur à savoir
      *    - son adresse
      *    - son groupe
      *    - son type de poisson qu'il vend
      *    - sa carte d'accès qui permet à un agent Acheteur pour entrer dans le groupe
      *    - son nom
      */
     public InfoCard(AgentAddress a, String g, String m, String card, String nom){
	    agentAddress=a;
	    group=g;
	    marchandise=m;
	    accessCard=card;
	    nomVendeur = nom;
     }
     


     /******************* Méthodes utiles *******************/

     /**
      * Méthode qui retourne une String correspondant au poisson vendu par l'agent Vendeur
      *
      * @return la String désirée
      */
     public String getMarchandise() {
	 return marchandise;
     }
     
     /**
      * Méthode qui retourne un AgentAddress correspondant à l'adresse de l'agent Vendeur
      *
      * @return l'adresse désirée
      */
     public AgentAddress getAddressVendeur () {
	 return agentAddress;
     }

     /**
      * Méthode qui retourne une String correspondant à la carte d'accès de l'agent Vendeur
      *
      * @return la String désirée
      */
     public String getAccessCard() {
	    return accessCard;
     }
     
     /**
      * Méthode qui retourne une String correspondant au groupe de l'agent Vendeur
      *
      * @return la String désirée
      */
     public String getGroup () {
	 return group;
     }

     /**
      * Méthode qui retourne une String correspondant au nom de l'agent Vendeur
      *
      * @return la String désirée
      */
     public String getNomVendeur() {
	 return nomVendeur;
     }
 }
