Один «истинно объектно-ориентированный» ответ будет состоять в том, чтобы определить интерфейс для «Rule» (с методами condition () и action ()), создать 3 реализации, поместить их в коллекцию, а затем просто перебрать их как в:
List<Rule> rules = .... ; // your 3 rules initialized here somehow
for(Rule r : rules) {
if(r.condition()) {
r.action();
}
}
Это имеет больше смысла, если у вас есть 300 правил / условий, а не только 3.
В Java8 вы можете сделать это вместо этого, если правила интенсивно используют процессор:
rules.parallelStream().filter(Rule::condition).forEach(Rule::action);