If you have as many methods as possible combinations, you can check combinations when entering different methods:
public void a(boolean a, boolean b, boolean c) {
if (a && !b && !c) {
}
}
public void ab(boolean a, boolean b, boolean c) {
if (a && b && !c) {
}
}
public void abc(boolean a, boolean b, boolean c) {
if (a && b && c) {
}
}
public void ac(boolean a, boolean b, boolean c) {
if (a && !b && c) {
}
}
public void b(boolean a, boolean b, boolean c) {
if (!a && b && !c) {
}
}
public void bc(boolean a, boolean b, boolean c) {
if (!a && b && c) {
}
}
public void c(boolean a, boolean b, boolean c) {
if (!a && !b && c) {
}
}
public void none(boolean a, boolean b, boolean c) {
if (!a && !b && !c) {
}
}
Then just call all of them:
a(a, b, c);
ab(a, b, c);
abc(a, b, c);
ac(a, b, c);
b(a, b, c);
bc(a, b, c);
c(a, b, c);
none(a, b, c);
source
share