public String toString() {

    String assegurançaListString = "";
    for (Assegurança a : this.assegurances) {
      if (a != null) {
        if (assegurançaListString != "") assegurançaListString = assegurançaListString + "\n";
        assegurançaListString =
            assegurançaListString + "\n" + a.getClass().getSimpleName() + a.toString();
      }
    }
    String agentListString = "";
    for (Agent a : this.agents) {
      if (a != null) {
        if (agentListString != "") agentListString = agentListString + "\n";
        agentListString = agentListString + "\nAgent" + a.toString();
      }
    }
    String clientListString = "";
    Node item = this.clients;
    while (item != null) {
      if (clientListString != "") clientListString = clientListString + "\n";
      clientListString = clientListString + "\nClient" + item.toString();
      item = item.getSeguent();
    }

    return "Companyia: "
        + getNom()
        + "\n Adreça: "
        + this.getAdreça()
        + "\n\n----- quantsClients: "
        + this.quantsClients("")
        + "\n----- quantsClients (poblacio= Canet de mar): "
        + this.quantsClients("Canet de mar")
        + "\n\n----- Cartera de clients: "
        + clientListString
        + "\n\n----- Agents d’assegurances: "
        + agentListString
        + "\n\n----- Assegurances:"
        + this.quantesAssegurances
        + " polisses (Max:"
        + this.maxAssegurances
        + ")"
        + "\n quantesAsssegurancesVehicleTotRisc: "
        + this.quantesAsssegurancesVehicleTotRisc()
        + "\n quantesAsssegurancesVehicleTotRisc (franquicia>=200): "
        + this.quantesAsssegurancesVehicleTotRisc(200)
        + "\n "
        + assegurançaListString;
  }
  public void addAssegurança(Assegurança a) throws Exception {

    // Hi ha lloc?
    if (this.quantesAssegurances + 1 > this.maxAssegurances)
      throw new Exception(
          "La companyia no pot contractar més assegurançes (Max:" + this.maxAssegurances + ")");

    // Està repetit?
    for (Assegurança item : this.assegurances) {
      if (item != null) {
        if (item.equals(a)) {
          throw new Exception("Ja existeix l'assegurança " + a.toString());
        }
        ;
      }
    }

    // Agent contractat?
    boolean trobat = false;
    for (Agent item : this.agents) {
      if (item.equals(a.getCorredor())) {
        trobat = true;
      }
    }
    if (!trobat) {
      throw new Exception("Agent no està contractat " + a.toString());
    }
    ;

    //			Si la persona que fa la contractació no era client de la companyia també s’ha d’afegir al
    // corresponent	magatzem de clients
    if (!this.existsClient(a.getClient())) {
      Node nouClient = new Node(a.getClient(), null);

      // Si no hi ha clients, afegir la referencia
      if (this.clients == null) this.clients = nouClient;
      else {
        // Afegir el node a l'ultim de la seqüencia enllaçada.
        this.getLastNode().setSeguent(nouClient);
      }
    }

    this.contadorPolisses++;
    a.setNumeroPolissa(this.contadorPolisses);

    this.assegurances[quantesAssegurances] = a;
    quantesAssegurances++;
  };
 public void remAgent(Agent a) throws Exception {
   if (!this.agents.contains(a)) throw new Exception("L'agent no existeix " + a.toString());
   agents.remove(a);
 }
 public void addAgent(Agent a) throws Exception {
   if (this.agents.contains(a)) throw new Exception("L'agent ja existeix " + a.toString());
   agents.add(a);
 }