April 2017
Beginner
504 pages
14h 11m
English
We can also call setAccessible on Field objects and then we can even set the value of private fields using reflection. Without further fake stories, just for the sake of the example, let's make a ConsistencyChecker named SettableChecker:
@Component @PoweredDevice public class SettableChecker implements ConsistencyChecker { private static final Logger log = LoggerFactory.getLogger(SettableChecker.class); private boolean setValue = false; public boolean isInconsistent(Order order) { return setValue; } }
This checker will return false, unless we set the field to true using reflection. We do set it as such. We create a method in the Checker class and invoke it from the checking process for each checker:
private void setValueInChecker(ConsistencyChecker ...
Read now
Unlock full access