test_class.declarator: NO_PRIVILEGE = 0
test_class.modifier: private static final
test_class.original_string: private static final long NO_PRIVILEGE = 0;
test_class.type: long
test_class.var_name: NO_PRIVILEGE
test_class.declarator: READ_NODES_PRIVILEGE_BITS = BUILT_IN.get(REP_READ_NODES)
test_class.modifier: private static final
test_class.original_string: private static final PrivilegeBits READ_NODES_PRIVILEGE_BITS = BUILT_IN.get(REP_READ_NODES);
test_class.type: PrivilegeBits
test_class.var_name: READ_NODES_PRIVILEGE_BITS
test_class.declarator: LONGS = new long[]{1, 2, 13, 199, 512, Long.MAX_VALUE / 2, Long.MAX_VALUE - 1, Long.MAX_VALUE}
test_class.modifier: private static final
test_class.original_string: private static final long[] LONGS = new long[]{1, 2, 13, 199, 512, Long.MAX_VALUE / 2, Long.MAX_VALUE - 1, Long.MAX_VALUE};
test_class.type: long[]
test_class.var_name: LONGS
test_class.file: oak-security-spi/src/test/java/org/apache/jackrabbit/oak/spi/security/privilege/PrivilegeBitsTest.java
test_class.identifier: PrivilegeBitsTest
test_class.interfaces: implements PrivilegeConstants
test_case.body: @Test
      public void testRetain() {
          PrivilegeBits pb = READ_NODES_PRIVILEGE_BITS;
          List<PrivilegeBits> pbs = new ArrayList<>();
          pbs.add(pb);
          Random random = new Random();
  
          for (int i = 0; i < 100; i++) {
              PrivilegeBits nxt = pb.nextBits();
  
              PrivilegeBits mod = PrivilegeBits.getInstance(nxt, pb);
              mod.retain(nxt);
              assertEquivalent(nxt, mod);
  
              mod = PrivilegeBits.getInstance(nxt);
              mod.retain(pb);
              assertTrue(nxt.toString(), mod.isEmpty());
  
              mod = PrivilegeBits.getInstance(nxt);
              mod.retain(READ_NODES_PRIVILEGE_BITS);
              assertTrue(nxt.toString(), mod.isEmpty());
  
              mod = PrivilegeBits.getInstance(nxt, READ_NODES_PRIVILEGE_BITS);
              mod.retain(nxt);
              assertEquivalent(nxt, mod);
  
              mod = PrivilegeBits.getInstance(nxt, pb, READ_NODES_PRIVILEGE_BITS);
              mod.retain(READ_NODES_PRIVILEGE_BITS);
              assertEquivalent(READ_NODES_PRIVILEGE_BITS, mod);
  
              mod = PrivilegeBits.getInstance(nxt);
              PrivilegeBits other = PrivilegeBits.getInstance();
              for (int j = 0; j < pbs.size()/2; j++) {
                  other.add(pbs.get(random.nextInt(pbs.size()-1)));
              }
              mod.add(other);
              mod.retain(other);
              assertEquivalent(other, mod);
  
              other.retain(nxt);
              assertTrue(other.isEmpty());
  
              pbs.add(nxt);
              pb = nxt;
          }
      }
test_case.class_method_signature: PrivilegeBitsTest.testRetain()
test_case.full_signature: @Test public void testRetain()
test_case.identifier: testRetain
test_case.invocations: add nextBits getInstance retain assertEquivalent getInstance retain assertTrue toString isEmpty getInstance retain assertTrue toString isEmpty getInstance retain assertEquivalent getInstance retain assertEquivalent getInstance getInstance size add get nextInt size add retain assertEquivalent retain assertTrue isEmpty add
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void testRetain()
focal_class.declarator: NO_PRIVILEGE = 0
focal_class.modifier: private static final
focal_class.original_string: private static final long NO_PRIVILEGE = 0;
focal_class.type: long
focal_class.var_name: NO_PRIVILEGE
focal_class.declarator: READ_NODES = 1
focal_class.modifier: private static final
focal_class.original_string: private static final long READ_NODES = 1;
focal_class.type: long
focal_class.var_name: READ_NODES
focal_class.declarator: READ_PROPERTIES = READ_NODES << 1
focal_class.modifier: private static final
focal_class.original_string: private static final long READ_PROPERTIES = READ_NODES << 1;
focal_class.type: long
focal_class.var_name: READ_PROPERTIES
focal_class.declarator: ADD_PROPERTIES = READ_PROPERTIES << 1
focal_class.modifier: private static final
focal_class.original_string: private static final long ADD_PROPERTIES = READ_PROPERTIES << 1;
focal_class.type: long
focal_class.var_name: ADD_PROPERTIES
focal_class.declarator: ALTER_PROPERTIES = ADD_PROPERTIES << 1
focal_class.modifier: private static final
focal_class.original_string: private static final long ALTER_PROPERTIES = ADD_PROPERTIES << 1;
focal_class.type: long
focal_class.var_name: ALTER_PROPERTIES
focal_class.declarator: REMOVE_PROPERTIES = ALTER_PROPERTIES << 1
focal_class.modifier: private static final
focal_class.original_string: private static final long REMOVE_PROPERTIES = ALTER_PROPERTIES << 1;
focal_class.type: long
focal_class.var_name: REMOVE_PROPERTIES
focal_class.declarator: ADD_CHILD_NODES = REMOVE_PROPERTIES << 1
focal_class.modifier: private static final
focal_class.original_string: private static final long ADD_CHILD_NODES = REMOVE_PROPERTIES << 1;
focal_class.type: long
focal_class.var_name: ADD_CHILD_NODES
focal_class.declarator: REMOVE_CHILD_NODES = ADD_CHILD_NODES << 1
focal_class.modifier: private static final
focal_class.original_string: private static final long REMOVE_CHILD_NODES = ADD_CHILD_NODES << 1;
focal_class.type: long
focal_class.var_name: REMOVE_CHILD_NODES
focal_class.declarator: REMOVE_NODE = REMOVE_CHILD_NODES << 1
focal_class.modifier: private static final
focal_class.original_string: private static final long REMOVE_NODE = REMOVE_CHILD_NODES << 1;
focal_class.type: long
focal_class.var_name: REMOVE_NODE
focal_class.declarator: READ_AC = REMOVE_NODE << 1
focal_class.modifier: private static final
focal_class.original_string: private static final long READ_AC = REMOVE_NODE << 1;
focal_class.type: long
focal_class.var_name: READ_AC
focal_class.declarator: MODIFY_AC = READ_AC << 1
focal_class.modifier: private static final
focal_class.original_string: private static final long MODIFY_AC = READ_AC << 1;
focal_class.type: long
focal_class.var_name: MODIFY_AC
focal_class.declarator: NODE_TYPE_MNGMT = MODIFY_AC << 1
focal_class.modifier: private static final
focal_class.original_string: private static final long NODE_TYPE_MNGMT = MODIFY_AC << 1;
focal_class.type: long
focal_class.var_name: NODE_TYPE_MNGMT
focal_class.declarator: VERSION_MNGMT = NODE_TYPE_MNGMT << 1
focal_class.modifier: private static final
focal_class.original_string: private static final long VERSION_MNGMT = NODE_TYPE_MNGMT << 1;
focal_class.type: long
focal_class.var_name: VERSION_MNGMT
focal_class.declarator: LOCK_MNGMT = VERSION_MNGMT << 1
focal_class.modifier: private static final
focal_class.original_string: private static final long LOCK_MNGMT = VERSION_MNGMT << 1;
focal_class.type: long
focal_class.var_name: LOCK_MNGMT
focal_class.declarator: LIFECYCLE_MNGMT = LOCK_MNGMT << 1
focal_class.modifier: private static final
focal_class.original_string: private static final long LIFECYCLE_MNGMT = LOCK_MNGMT << 1;
focal_class.type: long
focal_class.var_name: LIFECYCLE_MNGMT
focal_class.declarator: RETENTION_MNGMT = LIFECYCLE_MNGMT << 1
focal_class.modifier: private static final
focal_class.original_string: private static final long RETENTION_MNGMT = LIFECYCLE_MNGMT << 1;
focal_class.type: long
focal_class.var_name: RETENTION_MNGMT
focal_class.declarator: WORKSPACE_MNGMT = RETENTION_MNGMT << 1
focal_class.modifier: private static final
focal_class.original_string: private static final long WORKSPACE_MNGMT = RETENTION_MNGMT << 1;
focal_class.type: long
focal_class.var_name: WORKSPACE_MNGMT
focal_class.declarator: NODE_TYPE_DEF_MNGMT = WORKSPACE_MNGMT << 1
focal_class.modifier: private static final
focal_class.original_string: private static final long NODE_TYPE_DEF_MNGMT = WORKSPACE_MNGMT << 1;
focal_class.type: long
focal_class.var_name: NODE_TYPE_DEF_MNGMT
focal_class.declarator: NAMESPACE_MNGMT = NODE_TYPE_DEF_MNGMT << 1
focal_class.modifier: private static final
focal_class.original_string: private static final long NAMESPACE_MNGMT = NODE_TYPE_DEF_MNGMT << 1;
focal_class.type: long
focal_class.var_name: NAMESPACE_MNGMT
focal_class.declarator: PRIVILEGE_MNGMT = NAMESPACE_MNGMT << 1
focal_class.modifier: private static final
focal_class.original_string: private static final long PRIVILEGE_MNGMT = NAMESPACE_MNGMT << 1;
focal_class.type: long
focal_class.var_name: PRIVILEGE_MNGMT
focal_class.declarator: USER_MNGMT = PRIVILEGE_MNGMT << 1
focal_class.modifier: private static final
focal_class.original_string: private static final long USER_MNGMT = PRIVILEGE_MNGMT << 1;
focal_class.type: long
focal_class.var_name: USER_MNGMT
focal_class.declarator: INDEX_DEFINITION_MNGMT = USER_MNGMT << 1
focal_class.modifier: private static final
focal_class.original_string: private static final long INDEX_DEFINITION_MNGMT = USER_MNGMT << 1;
focal_class.type: long
focal_class.var_name: INDEX_DEFINITION_MNGMT
focal_class.declarator: READ = READ_NODES | READ_PROPERTIES
focal_class.modifier: private static final
focal_class.original_string: private static final long READ = READ_NODES | READ_PROPERTIES;
focal_class.type: long
focal_class.var_name: READ
focal_class.declarator: MODIFY_PROPERTIES = ADD_PROPERTIES | ALTER_PROPERTIES | REMOVE_PROPERTIES
focal_class.modifier: private static final
focal_class.original_string: private static final long MODIFY_PROPERTIES = ADD_PROPERTIES | ALTER_PROPERTIES | REMOVE_PROPERTIES;
focal_class.type: long
focal_class.var_name: MODIFY_PROPERTIES
focal_class.declarator: WRITE = MODIFY_PROPERTIES | ADD_CHILD_NODES | REMOVE_CHILD_NODES | REMOVE_NODE
focal_class.modifier: private static final
focal_class.original_string: private static final long WRITE = MODIFY_PROPERTIES | ADD_CHILD_NODES | REMOVE_CHILD_NODES | REMOVE_NODE;
focal_class.type: long
focal_class.var_name: WRITE
focal_class.declarator: WRITE2 = WRITE | NODE_TYPE_MNGMT
focal_class.modifier: private static final
focal_class.original_string: private static final long WRITE2 = WRITE | NODE_TYPE_MNGMT;
focal_class.type: long
focal_class.var_name: WRITE2
focal_class.declarator: EMPTY = new PrivilegeBits(UnmodifiableData.EMPTY)
focal_class.modifier: public static final
focal_class.original_string: public static final PrivilegeBits EMPTY = new PrivilegeBits(UnmodifiableData.EMPTY);
focal_class.type: PrivilegeBits
focal_class.var_name: EMPTY
focal_class.declarator: BUILT_IN
focal_class.modifier: public static final
focal_class.original_string: public static final Map<String, PrivilegeBits> BUILT_IN;
focal_class.type: Map<String, PrivilegeBits>
focal_class.var_name: BUILT_IN
focal_class.declarator: BUILT_IN_BITS
focal_class.modifier: private static final
focal_class.original_string: private static final Map<Long, String> BUILT_IN_BITS;
focal_class.type: Map<Long, String>
focal_class.var_name: BUILT_IN_BITS
focal_class.declarator: NEXT_AFTER_BUILT_INS = getInstance(INDEX_DEFINITION_MNGMT).nextBits()
focal_class.modifier: public static final
focal_class.original_string: public static final PrivilegeBits NEXT_AFTER_BUILT_INS = getInstance(INDEX_DEFINITION_MNGMT).nextBits();
focal_class.type: PrivilegeBits
focal_class.var_name: NEXT_AFTER_BUILT_INS
focal_class.declarator: d
focal_class.modifier: private final
focal_class.original_string: private final Data d;
focal_class.type: Data
focal_class.var_name: d
focal_class.file: oak-security-spi/src/main/java/org/apache/jackrabbit/oak/spi/security/privilege/PrivilegeBits.java
focal_class.identifier: PrivilegeBits
focal_class.interfaces: implements PrivilegeConstants
focal_class.class_method_signature: PrivilegeBits.PrivilegeBits(Data d)
focal_class.full_signature: private  PrivilegeBits(Data d)
focal_class.identifier: PrivilegeBits
focal_class.modifiers: private
focal_class.parameters: (Data d)
focal_class.signature:  PrivilegeBits(Data d)
focal_class.class_method_signature: PrivilegeBits.getInstance()
focal_class.full_signature: public static PrivilegeBits getInstance()
focal_class.identifier: getInstance
focal_class.modifiers: public static
focal_class.parameters: ()
focal_class.return: PrivilegeBits
focal_class.signature: PrivilegeBits getInstance()
focal_class.class_method_signature: PrivilegeBits.getInstance(@NotNull PrivilegeBits... base)
focal_class.full_signature: @NotNull public static PrivilegeBits getInstance(@NotNull PrivilegeBits... base)
focal_class.identifier: getInstance
focal_class.modifiers: @NotNull public static
focal_class.parameters: (@NotNull PrivilegeBits... base)
focal_class.return: PrivilegeBits
focal_class.signature: PrivilegeBits getInstance(@NotNull PrivilegeBits... base)
focal_class.class_method_signature: PrivilegeBits.getInstance(@Nullable PropertyState property)
focal_class.full_signature: @NotNull public static PrivilegeBits getInstance(@Nullable PropertyState property)
focal_class.identifier: getInstance
focal_class.modifiers: @NotNull public static
focal_class.parameters: (@Nullable PropertyState property)
focal_class.return: PrivilegeBits
focal_class.signature: PrivilegeBits getInstance(@Nullable PropertyState property)
focal_class.class_method_signature: PrivilegeBits.getInstance(@Nullable Tree tree)
focal_class.full_signature: @NotNull public static PrivilegeBits getInstance(@Nullable Tree tree)
focal_class.identifier: getInstance
focal_class.modifiers: @NotNull public static
focal_class.parameters: (@Nullable Tree tree)
focal_class.return: PrivilegeBits
focal_class.signature: PrivilegeBits getInstance(@Nullable Tree tree)
focal_class.class_method_signature: PrivilegeBits.getInstance(long bits)
focal_class.full_signature: @NotNull private static PrivilegeBits getInstance(long bits)
focal_class.identifier: getInstance
focal_class.modifiers: @NotNull private static
focal_class.parameters: (long bits)
focal_class.return: PrivilegeBits
focal_class.signature: PrivilegeBits getInstance(long bits)
focal_class.class_method_signature: PrivilegeBits.getInstance(long[] bits)
focal_class.full_signature: @NotNull private static PrivilegeBits getInstance(long[] bits)
focal_class.identifier: getInstance
focal_class.modifiers: @NotNull private static
focal_class.parameters: (long[] bits)
focal_class.return: PrivilegeBits
focal_class.signature: PrivilegeBits getInstance(long[] bits)
focal_class.class_method_signature: PrivilegeBits.calculatePermissions(@NotNull PrivilegeBits bits,
                                              @NotNull PrivilegeBits parentBits,
                                              boolean isAllow)
focal_class.full_signature: public static long calculatePermissions(@NotNull PrivilegeBits bits,
                                              @NotNull PrivilegeBits parentBits,
                                              boolean isAllow)
focal_class.identifier: calculatePermissions
focal_class.modifiers: public static
focal_class.parameters: (@NotNull PrivilegeBits bits,
                                              @NotNull PrivilegeBits parentBits,
                                              boolean isAllow)
focal_class.return: long
focal_class.signature: long calculatePermissions(@NotNull PrivilegeBits bits,
                                              @NotNull PrivilegeBits parentBits,
                                              boolean isAllow)
focal_class.class_method_signature: PrivilegeBits.isEmpty()
focal_class.full_signature: public boolean isEmpty()
focal_class.identifier: isEmpty
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: boolean
focal_class.signature: boolean isEmpty()
focal_class.class_method_signature: PrivilegeBits.unmodifiable()
focal_class.full_signature: @NotNull public PrivilegeBits unmodifiable()
focal_class.identifier: unmodifiable
focal_class.modifiers: @NotNull public
focal_class.parameters: ()
focal_class.return: PrivilegeBits
focal_class.signature: PrivilegeBits unmodifiable()
focal_class.class_method_signature: PrivilegeBits.modifiable()
focal_class.full_signature: @NotNull public PrivilegeBits modifiable()
focal_class.identifier: modifiable
focal_class.modifiers: @NotNull public
focal_class.parameters: ()
focal_class.return: PrivilegeBits
focal_class.signature: PrivilegeBits modifiable()
focal_class.class_method_signature: PrivilegeBits.includes(@NotNull PrivilegeBits otherBits)
focal_class.full_signature: public boolean includes(@NotNull PrivilegeBits otherBits)
focal_class.identifier: includes
focal_class.modifiers: public
focal_class.parameters: (@NotNull PrivilegeBits otherBits)
focal_class.return: boolean
focal_class.signature: boolean includes(@NotNull PrivilegeBits otherBits)
focal_class.class_method_signature: PrivilegeBits.isBuiltin()
focal_class.full_signature: public boolean isBuiltin()
focal_class.identifier: isBuiltin
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: boolean
focal_class.signature: boolean isBuiltin()
focal_class.class_method_signature: PrivilegeBits.add(@NotNull PrivilegeBits other)
focal_class.full_signature: @NotNull public PrivilegeBits add(@NotNull PrivilegeBits other)
focal_class.identifier: add
focal_class.modifiers: @NotNull public
focal_class.parameters: (@NotNull PrivilegeBits other)
focal_class.return: PrivilegeBits
focal_class.signature: PrivilegeBits add(@NotNull PrivilegeBits other)
focal_class.class_method_signature: PrivilegeBits.diff(@NotNull PrivilegeBits other)
focal_class.full_signature: @NotNull public PrivilegeBits diff(@NotNull PrivilegeBits other)
focal_class.identifier: diff
focal_class.modifiers: @NotNull public
focal_class.parameters: (@NotNull PrivilegeBits other)
focal_class.return: PrivilegeBits
focal_class.signature: PrivilegeBits diff(@NotNull PrivilegeBits other)
focal_class.class_method_signature: PrivilegeBits.addDifference(@NotNull PrivilegeBits a, @NotNull PrivilegeBits b)
focal_class.full_signature: @NotNull public PrivilegeBits addDifference(@NotNull PrivilegeBits a, @NotNull PrivilegeBits b)
focal_class.identifier: addDifference
focal_class.modifiers: @NotNull public
focal_class.parameters: (@NotNull PrivilegeBits a, @NotNull PrivilegeBits b)
focal_class.return: PrivilegeBits
focal_class.signature: PrivilegeBits addDifference(@NotNull PrivilegeBits a, @NotNull PrivilegeBits b)
focal_class.class_method_signature: PrivilegeBits.retain(@NotNull PrivilegeBits other)
focal_class.full_signature: @NotNull public PrivilegeBits retain(@NotNull PrivilegeBits other)
focal_class.identifier: retain
focal_class.modifiers: @NotNull public
focal_class.parameters: (@NotNull PrivilegeBits other)
focal_class.return: PrivilegeBits
focal_class.signature: PrivilegeBits retain(@NotNull PrivilegeBits other)
focal_class.class_method_signature: PrivilegeBits.asPropertyState(@NotNull String name)
focal_class.full_signature: @NotNull public PropertyState asPropertyState(@NotNull String name)
focal_class.identifier: asPropertyState
focal_class.modifiers: @NotNull public
focal_class.parameters: (@NotNull String name)
focal_class.return: PropertyState
focal_class.signature: PropertyState asPropertyState(@NotNull String name)
focal_class.class_method_signature: PrivilegeBits.nextBits()
focal_class.full_signature: @NotNull public PrivilegeBits nextBits()
focal_class.identifier: nextBits
focal_class.modifiers: @NotNull public
focal_class.parameters: ()
focal_class.return: PrivilegeBits
focal_class.signature: PrivilegeBits nextBits()
focal_class.class_method_signature: PrivilegeBits.writeTo(@NotNull Tree tree)
focal_class.full_signature: public void writeTo(@NotNull Tree tree)
focal_class.identifier: writeTo
focal_class.modifiers: public
focal_class.parameters: (@NotNull Tree tree)
focal_class.return: void
focal_class.signature: void writeTo(@NotNull Tree tree)
focal_class.class_method_signature: PrivilegeBits.unsupported()
focal_class.full_signature: private static UnsupportedOperationException unsupported()
focal_class.identifier: unsupported
focal_class.modifiers: private static
focal_class.parameters: ()
focal_class.return: UnsupportedOperationException
focal_class.signature: UnsupportedOperationException unsupported()
focal_class.class_method_signature: PrivilegeBits.hashCode()
focal_class.full_signature: @Override public int hashCode()
focal_class.identifier: hashCode
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: int
focal_class.signature: int hashCode()
focal_class.class_method_signature: PrivilegeBits.equals(Object o)
focal_class.full_signature: @Override public boolean equals(Object o)
focal_class.identifier: equals
focal_class.modifiers: @Override public
focal_class.parameters: (Object o)
focal_class.return: boolean
focal_class.signature: boolean equals(Object o)
focal_class.class_method_signature: PrivilegeBits.toString()
focal_class.full_signature: @Override public String toString()
focal_class.identifier: toString
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: String
focal_class.signature: String toString()
focal_method.body: @NotNull
      public PrivilegeBits retain(@NotNull PrivilegeBits other) {
          if (d instanceof ModifiableData) {
              ((ModifiableData) d).retain(other.d);
              return this;
          }  else {
              throw unsupported();
          }
      }
focal_method.class_method_signature: PrivilegeBits.retain(@NotNull PrivilegeBits other)
focal_method.full_signature: @NotNull public PrivilegeBits retain(@NotNull PrivilegeBits other)
focal_method.identifier: retain
focal_method.invocations: retain unsupported
focal_method.modifiers: @NotNull public
focal_method.parameters: (@NotNull PrivilegeBits other)
focal_method.return: PrivilegeBits
focal_method.signature: PrivilegeBits retain(@NotNull PrivilegeBits other)