Tem um sistema principal. Nele tenho uma interface e uma implementação.
interface
package br.com.ghsistemas.principal.core.regras;
import br.com.ghsistemas.principal.core.enuns.StatusDoRegistroEnum;
import br.com.ghsistemas.principal.utilitario.mensagem.Mensagem;
import java.util.Collection;
public interface ValidarIncluirAlterarExcluir {
void validarIncluir(String id, Collection<Mensagem> mensagens);
void validarAlterar(String id, Collection<Mensagem> mensagens);
void validarExcluir(String id, Collection<Mensagem> mensagens);
void validarExcluirGeral(StatusDoRegistroEnum status, Collection<Mensagem> mensagens, String chave, String entidade);
}
Em um outro sistema, via pom eu chamo coloco como dependência este sistema principal. Importo esta interface para utilizar a sua implementação. import br.com.ghsistemas.principal.core.regras.ValidarIncluirAlterarExcluir;
Já trabalhei em um sistema que o programador não sabia como era a implementação.
Tem como fazer para esconder a classe de implementação ?
Ou como neste sistema principal eu somente liberar as interfaces ?