Pessoal estou com um problema, digamos que não de funcionalidade e sim de conceito de encapsulamento.
Tenho 1 classe ModelProfile
public class ModelProfile
private String username{
public String cadastraProfile(String username)
{
this.username = username;
}
}
Tenho uma interface AcessoProfile
public interface AcessoProfile{
void cadastrarProfile (String username)
}
1 classe controller ControladorProfile
public class ControladorProfile extends ModelProfile implements AcessoProfile {
private String username;
@Override
public void cadastrarProfile (String username)
{
}
public void cadastraProfile()
{
cadastrarProfile (username);
}
get username;
set username;
}
E 1 página JSF que via passar esses dados e é ai que entra o problema.
Quando eu dou o seguinte comando:
<h:commandButton value="Cadastrar" action="#{controladorProfile.cadastraProfile}"/>
Bem no objeto controladorProfile, é exibido não somente os métodos da classe controlador, mas também da classe ModelProfile, o quel seria o motivo de eu estar usando uma interface, para agentes externos não terem acesso as classes internas do sistema.
Como em JSF eu não consigo implementar diretamente uma interface, tive que passar as variaveis para a classse controladora e ai acionar uma função que vai acionar a interface.
O que acham?