/*
  Introduction to Programming - A.A. 2005/2006
  Esercizio 9A
*/

import java.io.*;

public class Document {

  private String autore, titolo;
  private int    copie;
	

  // crea un oggetto Document a partire da un autore e un titolo
  // e assegna numero di copie = 0
  public Document(String a, String t) {
    autore = a; titolo = t; copie = 0;
  }

  // restituisci informazioni su questo documento
  public String toString( ) {
    return "Doc of " + autore + " \"" + titolo + "\" Copies: " + copie;
  }

  // aumenta il numero di copie
  public void aggiungiCopie(int n) {
    copie += n;
  }

  // diminuisce il numero di copie
  public void vendiCopie(int n) {
    if (n <= copie)
      copie -= n;
    else
      copie = 0;
  }

  // restituisce l'autore
  public String getAutore() {
    return autore;
  }
    
  // restituisce il titolo
  public String getTitolo() {
    return titolo;
  }
    
  // restituisce il numero di copie
  public int getCopie() {
    return copie;
  }

  // crea un documento a partire dalle informazioni lette da un ingresso
  // dato come BufferedReader
  public static Document read(BufferedReader reader) throws IOException {
    String info[] = reader.readLine().split(";");
	  
    Document document = new Document(info[0], info[1]);
    document.copie = Integer.parseInt(info[2]);
    return document;
  }
}
