Ecco un json che viene visualizzato nella richiesta param. Sto costruendo una classe con getter e setter per accedere ai valori in json in modo che possa essere in grado di passare l'oggetto di classe a metodi diversi e in grado di accedere alle variabili membro in essi.
public class RequestParams {
private String student_id;
private String student_name;
private String student_role_number;
private String department_name;
private String stream;
private JSONObject studentDetails;
public RequestParams(HttpServletRequest request) {
this.studentDetails = request.getParameter(“studentdetails”);
}
public String getStudentId() {
if(this.student_id == null) {
this.setStudentId();
}
return this.student_id;
}
public String getStudentName() {
if(this.student_name == null) {
this.setStudentName();
}
return this.student_name;
}
public String getRoleNumber() {
if(this.student_role_number == null) {
this.setRoleNumber();
}
return this.student_role_number;
}
public String getDepartmentName() {
if(this.department_name == null) {
this.setDepartmentName();
}
return this.student_name;
}
public String getStream() {
if(this.stream == null) {
this.setStream();
}
return this.stream;
}
public void setStudentId() {
this.student_id = this.studentDetails.getString("student_id");
}
public void setStudentName() {
this.student_name = this.studentDetails.getString("student_name");
}
public void setRoleNumber() {
this.student_role_number = this.studentDetails.getString("role_number");
}
public void setDepartmentName() {
this.department_name = this.studentDetails.getString("department_name");
}
public void setStream() {
this.stream = this.studentDetails.getString("stream");
}
}
Hai i seguenti dubbi,
- Costruire come oggetto di classe per farvi riferimento da metodi diversi - È buono? Sto sbagliando?
- Come organizzare il mio setter getter in modo che solo il set venga chiamato solo per la prima volta e per le chiamate successive il valore venga restituito direttamente? Esiste un modo migliore per evitare il controllo Null ogni volta
if(this.student_id == null) {
this.setStudentId();
}
- C'è qualche vantaggio nell'accedere ai metodi e alle variabili all'interno della classe con
this.
?
PS: non ho potuto richiamare inizialmente tutti i setter dal costruttore perché tutti i valori dichiarati nella classe non devono necessariamente essere presenti nel json. Quindi, ho pensato che sarebbe stato meglio se avessi potuto inizializzare la variabile membro con valore durante il primo accesso.