Get child hierarchy path till parent in java -


i have scenario child hierarchy structure of field till parent doing field level validations. can provide solution.

pojo classes

student.java

 package com.poc.next.validations;  import java.util.arraylist; import java.util.list;  public class student {     private string studentname;     private list<subject> subjects;      public string getstudentname() {         return studentname;     }      public void setstudentname(string studentname) {         this.studentname = studentname;     }      public list<subject> getsubjects() {         if (subjects == null) {             return new arraylist<>();         }         return subjects;     }      public void setsubjects(list<subject> subjects) {         this.subjects = subjects;     } } 

subject.java

package com.poc.next.validations;  import java.util.arraylist; import java.util.list;  public class subject {      private string subjectname;     private list<revisionmarks> revisionmarks;      public string getsubjectname() {         return subjectname;     }      public void setsubjectname(string subjectname) {         this.subjectname = subjectname;     }      public list<revisionmarks> getrevisionmarks() {         if (revisionmarks == null) {             return new arraylist<>();         }         return revisionmarks;     }      public void setrevisionmarks(list<revisionmarks> revisionmarks) {         this.revisionmarks = revisionmarks;     } } 

revisionmarks.java

package com.poc.next.validations;  public class revisionmarks {      private integer mark;     private string revision;      public integer getmark() {         return mark;     }      public void setmark(integer mark) {         this.mark = mark;     }      public string getrevision() {         return revision;     }      public void setrevision(string revision) {         this.revision = revision;     } } 

now adding validation check whether given mark in revisionmarks class in valid or not. if equal 0 have add error dto , send ui. challenge here have provide field name dynamic in hierarchy "subjects[0].revisionmarks[0].mark".

main class revisionvalidation.java

package com.poc.next.validations;  import java.util.arraylist; import java.util.iterator; import java.util.list;  public class revisionvalidation {      public static void main(string[] args) {         student student = populatestudentdata();         iterator<subject> iterator = student.getsubjects().iterator();         while (iterator.hasnext()) {             subject subject = (subject) iterator.next();             revisionmarks revisionmarks = subject.getrevisionmarks().get(0);             system.out.println(revisionmarks.getmark());             if (revisionmarks.getmark() == 0) {                 errordto errordto = new errordto(true, "invalid marks", "error", "subjects[0].revisionmarks[0].mark",                         "invalid_mark");                 system.out.println(errordto);             }         }     }      private static student populatestudentdata() {         list<revisionmarks> revisionmarks = new arraylist<>();         revisionmarks revisionmark = new revisionmarks();         revisionmark.setmark(0);         revisionmark.setrevision("test 1");         revisionmarks.add(revisionmark);          list<subject> subjects = new arraylist<>();         subject subject = new subject();         subject.setsubjectname("cs");         subject.setrevisionmarks(revisionmarks);         subjects.add(subject);          student student = new student();         student.setstudentname("sample");         student.setsubjects(subjects);         return student;     }  } 

how can dynamically create fieldpath "subjects[0].revisionmarks[0].mark". suggestions welcome. in advance.

use counter:

    int counter = 0;     iterator<subject> iterator = student.getsubjects().iterator();     while (iterator.hasnext()) {         subject subject = (subject) iterator.next();         revisionmarks revisionmarks = subject.getrevisionmarks().get(0);         system.out.println(revisionmarks.getmark());         if (revisionmarks.getmark() == 0) {             errordto errordto = new errordto(true, "invalid marks", "error", "subjects[" + counter + "].revisionmarks[0].mark",                     "invalid_mark");             system.out.println(errordto);         }         ++counter;     } 

Comments

Popular posts from this blog

javascript - Create a stacked percentage column -

Optimising Firebase database by automatically overwriting data -

javascript - Angular UI-Grid customTemplate directive causing rows to load slowly/? -