PrivilegeBits implements PrivilegeConstants { public boolean includes(@NotNull PrivilegeBits otherBits) { return d.includes(otherBits.d); } private  PrivilegeBits(Data d); static PrivilegeBits getInstance(); @NotNull static PrivilegeBits getInstance(@NotNull PrivilegeBits... base); @NotNull static PrivilegeBits getInstance(@Nullable PropertyState property); @NotNull static PrivilegeBits getInstance(@Nullable Tree tree); static long calculatePermissions(@NotNull PrivilegeBits bits,
                                            @NotNull PrivilegeBits parentBits,
                                            boolean isAllow); boolean isEmpty(); @NotNull PrivilegeBits unmodifiable(); @NotNull PrivilegeBits modifiable(); boolean includes(@NotNull PrivilegeBits otherBits); boolean isBuiltin(); @NotNull PrivilegeBits add(@NotNull PrivilegeBits other); @NotNull PrivilegeBits diff(@NotNull PrivilegeBits other); @NotNull PrivilegeBits addDifference(@NotNull PrivilegeBits a, @NotNull PrivilegeBits b); @NotNull PrivilegeBits retain(@NotNull PrivilegeBits other); @NotNull PropertyState asPropertyState(@NotNull String name); @NotNull PrivilegeBits nextBits(); void writeTo(@NotNull Tree tree); @Override int hashCode(); @Override boolean equals(Object o); @Override String toString(); static final PrivilegeBits EMPTY; static final Map<String, PrivilegeBits> BUILT_IN; static final PrivilegeBits NEXT_AFTER_BUILT_INS; }
@Test public void testIncludes() { assertTrue(PrivilegeBits.EMPTY.includes(PrivilegeBits.EMPTY)); PrivilegeBits pb = READ_NODES_PRIVILEGE_BITS; PrivilegeBits mod = PrivilegeBits.getInstance(); for (int i = 0; i < 200; i++) { assertFalse(PrivilegeBits.EMPTY.includes(pb)); assertTrue(pb.includes(PrivilegeBits.EMPTY)); mod.add(pb); assertTrue(mod.includes(pb)); PrivilegeBits nxt = pb.nextBits(); assertTrue(nxt.includes(nxt)); assertTrue(nxt.includes(PrivilegeBits.getInstance(nxt))); assertFalse(pb + " should not include " + nxt, pb.includes(nxt)); assertFalse(nxt + " should not include " + pb, nxt.includes(pb)); assertFalse(mod.includes(nxt)); assertFalse(nxt.includes(mod)); pb = nxt; } }