package sac.pessoa.juridica;

import sac.util.PersistenteObject;
import sac.exception.NullArgumentException;

public class OfertaTrabalho extends PersistenteObject
{
   private int cargaHoraria;
   private String tipoServico;
   private String requisitos;

   /**
    * Contrutor da Classe Oferta de Trabalho
    *
    * @param cargaHoraria   Inteiro contendo a quantidade de tempo de trabalho
    * @param tipoServico    String contendo os serviços da pessoa cadastrada
    * @param requisitos     String contendo os requisitos da pessoa cadastrada
   */
   public OfertaTrabalho(int cargaHoraria, String tipoServico, String requisitos)
   throws NullArgumentException {

      this.cargaHoraria = cargaHoraria;
      this.tipoServico = tipoServico;
      this.requisitos = requisitos;
   }

   /**
    * Metodo que recupera os tipos de serviços das pessoas do sistema
    *
    * @return String  Contendo os tipos de serviços ofercidos pela pessoa
    *
   */
   public String getTipoServico()
   {
      return this.tipoServico;
   }

   /**
    * Metodo que altera Tipo de Serviço das pessoas cadastradas no sistema
    *
    * @param newTipoServico  String contendo os tipos de seviços para atualização
    *
   */
   public void setTipoServico(String newTipoServico) throws NullArgumentException {
      if ( newTipoServico != null && !newTipoServico.equals("") ){
          this.tipoServico = newTipoServico;
      } else {
          throw new NullArgumentException ("Valor do tipo de servico nulo.");
      }
   }

   /**
    * Metodo que altera a carga horaria das pessoas do sitema
    *
    * @param newCargaHoraria  Inteiro contendo o novo valor da craga horaria
    *
   */
   public void setCargaHoraria(int newCargaHoraria)
   {
      this.cargaHoraria = newCargaHoraria;
   }

   /**
    * Metodo que recupera a carga horaria das pessoas do sistema
    *
    * @return Int  Inteiro com a carga horaria das pessoas do sistema
    *
   */
   public int getCargaHoraria()
   {
      return this.cargaHoraria;
   }

   /**
    * Metodo que altera requisitos das pessoas do sistema
    *
    * @param newRequisitos  String contendo os requisitos a serem atualizados
    *
   */
   public void setRequisitos(String newRequisitos)
   {
      this.requisitos = newRequisitos;
   }

   /**
    * Metodo que recupera os requisitos das pessoas do sistema
    *
    * @return String  Requisitos das pessoas
    *
   */
   public String getRequisitos()
   {
      return this.requisitos;
   }
}
