package sac.pessoa.juridica;

import sac.exception.ItemJaCadastradoException;
import sac.exception.ItemNaoCadastradoException;
import sac.persistencia.OID;
import sac.persistencia.PersistenceException;

public interface RepositorioCategoria {

   /**
   * Funcao para adicionar uma nova Categoria de Pessoa Juridica
   * executada por um usuário operador que extende de pessoa fisica.
   *
   * @param categoria	String contendo categoria a ser cadastrada
   */
    public OID cadastrarCategoria(String categoria) throws PersistenceException,
    		ItemJaCadastradoException ;

   /**
   * Funcao para adicionar uma nova subCategoria de Pessoa Juridica.
   *
   * @param subcategoria	String contendo subcategoria a ser cadastrada
   */
    public OID cadastrarSubCategoria(String subcategoria) throws PersistenceException,
			ItemJaCadastradoException ;
   /**
   * Funcao para adicionar uma relacao entre uma Categoria e uma subCategoria de Pessoa Juridica.
   *
   * @param categoria	        String contendo categoria a ser cadastrada
   * @param subcategoria	String contendo subcategoria a ser cadastrada
   */
    public void cadastrarRelCategoria(String categoria, String subcategoria) throws PersistenceException ;

}