Clases DAO y Data
Proporcionamos clases DAO (Data Access Object) y Data para construir su propia GUI personalizada.
Javadoc para las clases DAO y Data
Disponemos de documentos API para NxFilter y NxCloud.
Métodos comunes para un objeto de acceso a datos
Tenemos algunos métodos comunes para la mayoría de las clases de objetos de acceso a datos. Por ejemplo, en policy,policy.jsp
usamos las clases PolicyDao y PolicyData para manipular políticas. PolicyDao tiene los siguientes 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 dato de política tiene su propio ID único que es un número y usamos este ID para encontrar, actualizar un dato de política.
Insertar, borrar, actualizar, seleccionar datos
Si queremos modificar whitelist,domain.jsp, tenemos que usar las clases WhitelistDomainDao y WhitelistData.
Para insertar un nuevo dato,
<%
WhitelistDomainDao dao = new WhitelistDomainDao();
WhitelistData data = new WhitelistData();
data.domain = "*.nxfilter.org";
data.bypassAuth = true;
data.bypassFilter = true;
dao.insert(data);
%>
Para borrar un dato cuando su ID es 12,
<%
WhitelistDomainDao dao = new WhitelistDomainDao();
dao.delete(12);
%>
Para seleccionar un dato cuando su ID es 12,
<%
WhitelistDomainDao dao = new WhitelistDomainDao();
WhitelistData data = dao.selectOne(12);
%>
Para actualizar el dato seleccionado,
<%
data.bypassFilter = false;
dao.update(data);
%>
Por último, para listar datos.
<%
WhitelistDomainDao dao = new WhitelistDomainDao();
List dataList = dao.selectList();
for(WhitelistData data : dataList){
out.println(data.domain + "<br>");
}
%>
Acceder a los campos de datos
Muchos desarrolladores Java utilizan los accesores 'get' y 'set' para encapsular y
procesamiento adicional de datos. Pero por simplicidad, accedemos a los campos públicos directamente en la mayoría de los casos. En
ejemplo, obtienes una instancia de UserData y usas su propiedad 'name' como el codigo de abajo,
<%
UserData data = new UserDao().selectOne(1);
out.println(data.name)
%>
Sin embargo, hay algunas clases de datos que tienen métodos que empiezan por 'get'. Estos métodos son en su mayoría sobre el formato. Tenemos la propiedad 'ctime' para RequestData que usamos en Logging > DNS Request. Si lo usas directamente obtienes '201507081415' pero cuando usas su propiedad 'getCtime()' method you get '07/08 14:14'.