DAO e classi di dati
Forniamo DAO (Data Access Object) e classi di dati per costruire la vostra GUI personalizzata.
Javadoc per le classi DAO e Data
Sono disponibili documenti API per NxFilter e NxCloud.
Metodi comuni per un oggetto di accesso ai dati
Abbiamo alcuni metodi comuni per la maggior parte delle classi di oggetti di accesso ai dati. Per esempio, in policy,policy.jsp
usiamo le classi PolicyDao e PolicyData per manipolare le policy. PolicyDao ha i seguenti metodi.
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
Ogni dato di policy ha un proprio ID univoco, che è un numero, e viene utilizzato per trovare e aggiornare i dati di una policy.
Inserire, cancellare, aggiornare, selezionare dati
Se si vuole modificare whitelist,domain.jsp, si devono usare le classi WhitelistDomainDao e WhitelistData.
Per inserire un nuovo dato,
<%
WhitelistDomainDao dao = new WhitelistDomainDao();
WhitelistData data = new WhitelistData();
data.domain = "*.nxfilter.org";
data.bypassAuth = true;
data.bypassFilter = true;
dao.insert(data);
%>
Per eliminare un dato quando il suo ID è 12,
<%
WhitelistDomainDao dao = new WhitelistDomainDao();
dao.delete(12);
%>
Per selezionare un dato quando il suo ID è 12,
<%
WhitelistDomainDao dao = new WhitelistDomainDao();
WhitelistData data = dao.selectOne(12);
%>
Per aggiornare i dati selezionati,
<%
data.bypassFilter = false;
dao.update(data);
%>
Infine, per elencare i dati.
<%
WhitelistDomainDao dao = new WhitelistDomainDao();
List dataList = dao.selectList();
for(WhitelistData data : dataList){
out.println(data.domain + "<br>");
}
%>
Accesso ai campi dati
Molti sviluppatori Java utilizzano gli accessori 'get' e 'set' per l'incapsulamento e l'elaborazione aggiuntiva dei dati.
elaborazione aggiuntiva dei dati. Ma per semplicità, nella maggior parte dei casi accediamo direttamente ai campi pubblici. Per esempio
esempio, si ottiene un'istanza di UserData e si utilizza la sua proprietà 'name' come nel codice seguente,
<%
UserData data = new UserDao().selectOne(1);
out.println(data.name)
%>
Tuttavia, ci sono alcune classi di dati che hanno metodi che iniziano con 'get'. Questi metodi sono per lo più di formattazione. Abbiamo la proprietà 'ctime' per RequestData, che usiamo su Logging > DNS Request. Se la si usa direttamente, si ottiene '201507081415', ma quando si usa la proprietà 'getCtime()' method you get '07/08 14:14'.