package uk.ac.sanger.artemis.components.variant; /* * Lifted from : * http://dhruba.name/2008/12/31/effective-java-item-32-use-enumset-instead-of-bit-fields/ */ public class IntEnumPatternResolver { private int current = 0; public void set(final int flags) { this.current = flags; } public boolean isEnabled(final int flag) { return (current & flag) == flag; } public int current() { return current; } public void enable(final int flag) { current |= flag; } public void disable(final int flag) { current &= ~flag; } public void toggle(final int flag) { current ^= flag; } /* * bulk operations */ public void enableAll(final int... flags) { for (final int flag : flags) { enable(flag); } } }