DAO e classes de dados
Fornecemos DAO (Data Access Object) e classes de dados para criar sua própria GUI personalizada.
Javadoc para classes DAO e Data
Temos documentos de API para NxFilter e NxCloud.
Métodos comuns para um objeto de acesso a dados
Temos alguns métodos comuns para a maioria das classes de objetos de acesso a dados. Por exemplo, em policy,policy.jsp
usamos as classes PolicyDao e PolicyData para manipular políticas. O PolicyDao tem os seguintes métodos.
public int selectCount() : The number of policies
public List selectList() : Fetching policies as a list
public PolicyData selectOne(int id) : Fetching one policy by ID column
public boolean insert(PolicyData data) : Insert a new policy
public boolean update(PolicyData data) : Update a existing policy
public boolean delete(int id) : Delete a policy by ID column
Cada dado de política tem sua própria ID exclusiva, que é um número, e usamos essa ID para localizar e atualizar um dado de política.
Inserir, excluir, atualizar, selecionar dados
Se quisermos modificar a whitelist, domain.jsp, teremos de usar as classes WhitelistDomainDao e WhitelistData.
Para inserir um novo dado,
<%
WhitelistDomainDao dao = new WhitelistDomainDao();
WhitelistData data = new WhitelistData();
data.domain = "*.nxfilter.org";
data.bypassAuth = true;
data.bypassFilter = true;
dao.insert(data);
%>
Para excluir um dado quando seu ID for 12,
<%
WhitelistDomainDao dao = new WhitelistDomainDao();
dao.delete(12);
%>
Para selecionar um dado quando seu ID for 12,
<%
WhitelistDomainDao dao = new WhitelistDomainDao();
WhitelistData data = dao.selectOne(12);
%>
E para atualizar os dados selecionados,
<%
data.bypassFilter = false;
dao.update(data);
%>
Por fim, para listar dados.
<%
WhitelistDomainDao dao = new WhitelistDomainDao();
List dataList = dao.selectList();
for(WhitelistData data : dataList){
out.println(data.domain + "<br>");
}
%>
Acessar campos de dados
Muitos desenvolvedores Java estão usando os acessores 'get' e 'set' para encapsulamento e
processamento adicional de dados. Mas, para simplificar, acessamos os campos públicos diretamente na maioria dos casos. Por
exemplo, você obtém uma instância de UserData e usa sua propriedade 'name' como no código abaixo,
<%
UserData data = new UserDao().selectOne(1);
out.println(data.name)
%>
Entretanto, há algumas classes de dados que têm métodos que começam com "get". Esses métodos são principalmente de formatação. Temos a propriedade 'ctime' para RequestData que usamos em Logging > DNS Request. Se você usá-la diretamente, obterá '201507081415', mas quando usar a propriedade 'getCtime()' method you get '07/08 14:14'.