I’m writing this code snippet, but personally I found that this is not very good. I need some ideas and examples on refactoring this snippet with best practices!
status object:
public class Status {
private boolean dsm;
private boolean dsa;
}
Validate and set values for Status:
Status s = new Status();
Optional.of(element)
.filter(e -> validateDSM(e, s) || validateDSA(e, s))
.map(e -> doSomething(e, s)
.orElse(defaultReturn());
Validate DSM:
private boolean validateDSM(Element e, Status s) {
boolean result = ofNullable(e).map(x -> "a".equals("b").orElse(false);
s.setDSM(result);
return result;
}
Validate DSA:
private boolean validateDSA(Element e, Status s) {
boolean result = ofNullable(e).map(x -> "a".equals("b").orElse(false);
s.setDSA(result);
return result;
}
doSomething(Element e, Status s)
method will then check dsm and dsa value after validate operations happened in filter method.
My question is that is there any better way to rewrite this code pattern? i.e. a better way to set values for Status object!
3