Java 8 lambda null check usage -


i have scenario checking multiple attributes inside class null check.if not null , calling method create me new object , need capture instance against reference.i succesasfully able null check using maps unable write code me in capturing return object after invocation.can please ?

    private workflowpreference buildwfprefdetails(ccarreportpreferenceconfig ccarreportpreferenceconfig) {     workflowpreference workflowpreference = new workflowpreference();     list<payloadentry> payloadentries = new arraylist<payloadentry>();     optional.of(ccarreportpreferenceconfig)         .map(ccarreportpreferenceconfig::getrwprole)         .map(rwprole::getrolename)         .ifpresent(s -> workflowpreference.setkey(s));     optional.of(ccarreportpreferenceconfig)         .map(ccarreportpreferenceconfig::getsequencenumber)         .ifpresent(s -> buildpayloadentry("seq_num", s));     optional.of(ccarreportpreferenceconfig)         .map(ccarreportpreferenceconfig::getslatype)         .ifpresent(s -> buildpayloadentry("sla_type", s));     optional.of(ccarreportpreferenceconfig)         .map(ccarreportpreferenceconfig::getslavalue)         .ifpresent(s -> buildpayloadentry("sla_value", s.tostring()));     optional.of(ccarreportpreferenceconfig)         .map(ccarreportpreferenceconfig::getrejectsequence)         .ifpresent(s -> buildpayloadentry("reject_sequence", s));     optional.of(ccarreportpreferenceconfig)         .map(ccarreportpreferenceconfig::getraisequerynotification)         .ifpresent(s -> buildpayloadentry("raise_query_notification", s));     workflowpreference.getvalue().addall(payloadentries);     return workflowpreference; }  private payloadentry buildpayloadentry(string key, string value) {     payloadentry payloadentry = new payloadentry();     payloadentry.setkey(key);     payloadentry.setvalue(value);     return payloadentry; } 

expected :

payloadentries list should capture returned object after each buildpayloadentry call.i want below implemented along lambda null checks

payloadentries.add(buildpayloadentry("seq_num", ccarreportpreferenceconfig.getsequencenumber())); payloadentries.add(buildpayloadentry("sla_type", ccarreportpreferenceconfig.getslavalue().tostring())); 

updated answer per below suggestions

optional.ofnullable(ccarreportpreferenceconfig)         .map(ccarreportpreferenceconfig::getrwprole)         .map(rwprole::getrolename)         .ifpresent(s -> workflowpreference.setkey(s));     optional.ofnullable(ccarreportpreferenceconfig)         .map(ccarreportpreferenceconfig::getsequencenumber)         .ifpresent(s -> payloadentries.add(buildpayloadentry("seq_num", s)));     optional.ofnullable(ccarreportpreferenceconfig)         .map(ccarreportpreferenceconfig::getslatype)         .ifpresent(s -> payloadentries.add(buildpayloadentry("sla_type", s)));     optional.ofnullable(ccarreportpreferenceconfig)         .map(ccarreportpreferenceconfig::getslavalue)         .ifpresent(s -> payloadentries.add(buildpayloadentry("sla_value", s.tostring())));     optional.ofnullable(ccarreportpreferenceconfig)         .map(ccarreportpreferenceconfig::getrejectsequence)         .ifpresent(s -> payloadentries.add(buildpayloadentry("reject_sequence", s)));     optional.ofnullable(ccarreportpreferenceconfig)         .map(ccarreportpreferenceconfig::getraisequerynotification)         .ifpresent(s -> payloadentries.add(buildpayloadentry("raise_query_notification", s)));     workflowpreference.getvalue().addall(payloadentries); 

if understand correctly, need transform (for example):

optional.of(ccarreportpreferenceconfig)         .map(ccarreportpreferenceconfig::getsequencenumber)         .ifpresent(s -> buildpayloadentry("seq_num", s)); 

to

optional.of(ccarreportpreferenceconfig)         .map(ccarreportpreferenceconfig::getsequencenumber)         .ifpresent(s -> payloadentries.add(buildpayloadentry("seq_num", s))); 

Comments

Popular posts from this blog

java - Static nested class instance -

c# - Bluetooth LE CanUpdate Characteristic property -

JavaScript - Replace variable from string in all occurrences -