package sac.medicamento;

import sac.persistencia.OID;
import sac.exception.NullArgumentException;

public class Laboratorio 
{
   //Identificador do laboratorio
   private OID id;
   //Nome do laboratorio
   private String nome;
   
   /**
    * Construtor <code>Laboratorio</code>
    */
   public Laboratorio () {
      this.nome = "";
   }

   /**
    * Construtor <code>Laboratorio</code>
    *
    * @param _id <code>OID</code> que identifica o laboratorio
    * @param _nome <code>String</code> que identifica o nome do laboratorio
    *
    * @exception NomeInvalidoException Invalida nome com string vazia
    */
    public Laboratorio(OID _id, String _nome) throws
        NullArgumentException {
        this.id = _id;
        if (!(_nome.equals(""))) {
            this.nome = _nome;
        } else {
            throw new NullArgumentException ("Nome vazio!");
        }
    }

   /**
    *  Metodo que altera o ID do laboratorio
    *
    * @param <code>OID</code> ID do laboratorio
    */
    public void setID(OID newId){
        this.id = newId;
    }

   /**
    *  Metodo que altera o nome do laboratorio
    *
    * @param <code>String</code> com o nome do laboratorio
    *
    * @exception NomeInvalidoException Invalida nome com string vazia
    */
    public void setNome(String newNome) throws NullArgumentException{
        if (newNome.equals("")) {
            throw new NullArgumentException("Nome vazio");
        } else {
            this.nome = newNome;
        }
    }

   /**
    * Metodo que retorna o identificador do laboratorio
    *
    * @return <code>OID</code> que representa o ID do laboratorio
    */
    public OID getId(){
        return id;
    }

   /**
    * Metodo que retorna o nome do laboratorio
    *
    * @return <code>String</code> com o nome do laboratorio
    */
   public String getNome(){
      return nome;
   }
}
