Если вы хотите установить бит, вы должны использовать оператор OR (объединение).
def MANAGER = 0x04
manager.memberOf |= MANAGER
затем, когда вы хотите проверить, включен ли флаг, сначала вы должны получить только бит из байта, используя ту же маску с оператором AND (пересечение), и сравнить с маской. Если он совпадает с маской, бит был включен, если он равен 0, бит был отключен.
(manager.memberOf & MANAGER) == MANAGER
Полный рабочий пример:
def MANAGER = 1
def ADMIN = 2
def CLIENT = 4
def manager = [memberOf:0]
// Add to the MANAGER
manager.memberOf |= MANAGER
assert (manager.memberOf & MANAGER) == MANAGER
assert (manager.memberOf & ADMIN) == 0
assert (manager.memberOf & CLIENT) == 0