test_class.declarator: subjectId
test_class.modifier: private static
test_class.original_string: private static String subjectId;
test_class.type: String
test_class.var_name: subjectId
test_class.declarator: anotherSubjectId
test_class.modifier: private static
test_class.original_string: private static String anotherSubjectId;
test_class.type: String
test_class.var_name: anotherSubjectId
test_class.declarator: permissions
test_class.modifier: private static
test_class.original_string: private static Set<String> permissions;
test_class.type: Set<String>
test_class.var_name: permissions
test_class.declarator: grantedMap = null
test_class.modifier: private
test_class.original_string: private PermissionSubjectsMap grantedMap = null;
test_class.type: PermissionSubjectsMap
test_class.var_name: grantedMap
test_class.declarator: revokedMap = null
test_class.modifier: private
test_class.original_string: private PermissionSubjectsMap revokedMap = null;
test_class.type: PermissionSubjectsMap
test_class.var_name: revokedMap
test_class.declarator: underTest = null
test_class.modifier: private
test_class.original_string: private GrantRevokeIndex underTest = null;
test_class.type: GrantRevokeIndex
test_class.var_name: underTest
test_class.file: model/enforcers/src/test/java/org/eclipse/ditto/model/enforcers/trie/GrantRevokeIndexTest.java
test_class.identifier: GrantRevokeIndexTest
test_case.body: @Test
      public void anotherSubjectIdHasNoReadPermissionBecauseRevokedWithSameWeight() {
          final boolean hasPermissions = underTest.hasPermissions(Collections.singleton(anotherSubjectId),
                  Collections.singleton("READ"));
  
          assertThat(hasPermissions).isFalse();
      }
test_case.class_method_signature: GrantRevokeIndexTest.anotherSubjectIdHasNoReadPermissionBecauseRevokedWithSameWeight()
test_case.full_signature: @Test public void anotherSubjectIdHasNoReadPermissionBecauseRevokedWithSameWeight()
test_case.identifier: anotherSubjectIdHasNoReadPermissionBecauseRevokedWithSameWeight
test_case.invocations: hasPermissions singleton singleton isFalse assertThat
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void anotherSubjectIdHasNoReadPermissionBecauseRevokedWithSameWeight()
focal_class.declarator: grantMap
focal_class.modifier: private final
focal_class.original_string: private final PermissionSubjectsMap grantMap;
focal_class.type: PermissionSubjectsMap
focal_class.var_name: grantMap
focal_class.declarator: revokeMap
focal_class.modifier: private final
focal_class.original_string: private final PermissionSubjectsMap revokeMap;
focal_class.type: PermissionSubjectsMap
focal_class.var_name: revokeMap
focal_class.file: model/enforcers/src/main/java/org/eclipse/ditto/model/enforcers/trie/GrantRevokeIndex.java
focal_class.identifier: GrantRevokeIndex
focal_class.class_method_signature: GrantRevokeIndex.GrantRevokeIndex()
focal_class.full_signature:   GrantRevokeIndex()
focal_class.identifier: GrantRevokeIndex
focal_class.parameters: ()
focal_class.signature:  GrantRevokeIndex()
focal_class.class_method_signature: GrantRevokeIndex.GrantRevokeIndex(final PermissionSubjectsMap grantMap, final PermissionSubjectsMap revokeMap)
focal_class.full_signature:   GrantRevokeIndex(final PermissionSubjectsMap grantMap, final PermissionSubjectsMap revokeMap)
focal_class.identifier: GrantRevokeIndex
focal_class.parameters: (final PermissionSubjectsMap grantMap, final PermissionSubjectsMap revokeMap)
focal_class.signature:  GrantRevokeIndex(final PermissionSubjectsMap grantMap, final PermissionSubjectsMap revokeMap)
focal_class.class_method_signature: GrantRevokeIndex.getGranted()
focal_class.full_signature:  PermissionSubjectsMap getGranted()
focal_class.identifier: getGranted
focal_class.parameters: ()
focal_class.return: PermissionSubjectsMap
focal_class.signature: PermissionSubjectsMap getGranted()
focal_class.class_method_signature: GrantRevokeIndex.getRevoked()
focal_class.full_signature:  PermissionSubjectsMap getRevoked()
focal_class.identifier: getRevoked
focal_class.parameters: ()
focal_class.return: PermissionSubjectsMap
focal_class.signature: PermissionSubjectsMap getRevoked()
focal_class.class_method_signature: GrantRevokeIndex.copyWithDecrementedWeight()
focal_class.full_signature:  GrantRevokeIndex copyWithDecrementedWeight()
focal_class.identifier: copyWithDecrementedWeight
focal_class.parameters: ()
focal_class.return: GrantRevokeIndex
focal_class.signature: GrantRevokeIndex copyWithDecrementedWeight()
focal_class.class_method_signature: GrantRevokeIndex.overrideBy(final GrantRevokeIndex update)
focal_class.full_signature:  GrantRevokeIndex overrideBy(final GrantRevokeIndex update)
focal_class.identifier: overrideBy
focal_class.parameters: (final GrantRevokeIndex update)
focal_class.return: GrantRevokeIndex
focal_class.signature: GrantRevokeIndex overrideBy(final GrantRevokeIndex update)
focal_class.class_method_signature: GrantRevokeIndex.hasPermissions(final Collection<String> subjectIds, final Collection<String> permissions)
focal_class.full_signature:  boolean hasPermissions(final Collection<String> subjectIds, final Collection<String> permissions)
focal_class.identifier: hasPermissions
focal_class.parameters: (final Collection<String> subjectIds, final Collection<String> permissions)
focal_class.return: boolean
focal_class.signature: boolean hasPermissions(final Collection<String> subjectIds, final Collection<String> permissions)
focal_class.class_method_signature: GrantRevokeIndex.getEffectedSubjectIds(final Set<String> permissions)
focal_class.full_signature: @Deprecated EffectedSubjectIds getEffectedSubjectIds(final Set<String> permissions)
focal_class.identifier: getEffectedSubjectIds
focal_class.modifiers: @Deprecated
focal_class.parameters: (final Set<String> permissions)
focal_class.return: EffectedSubjectIds
focal_class.signature: EffectedSubjectIds getEffectedSubjectIds(final Set<String> permissions)
focal_class.class_method_signature: GrantRevokeIndex.getEffectedSubjects(final Set<String> permissions)
focal_class.full_signature:  EffectedSubjects getEffectedSubjects(final Set<String> permissions)
focal_class.identifier: getEffectedSubjects
focal_class.parameters: (final Set<String> permissions)
focal_class.return: EffectedSubjects
focal_class.signature: EffectedSubjects getEffectedSubjects(final Set<String> permissions)
focal_class.class_method_signature: GrantRevokeIndex.getGrantedSubjectIds(final Set<String> permissions)
focal_class.full_signature: @Deprecated Set<String> getGrantedSubjectIds(final Set<String> permissions)
focal_class.identifier: getGrantedSubjectIds
focal_class.modifiers: @Deprecated
focal_class.parameters: (final Set<String> permissions)
focal_class.return: Set<String>
focal_class.signature: Set<String> getGrantedSubjectIds(final Set<String> permissions)
focal_class.class_method_signature: GrantRevokeIndex.getGrantedSubjects(final Set<String> permissions)
focal_class.full_signature:  Set<AuthorizationSubject> getGrantedSubjects(final Set<String> permissions)
focal_class.identifier: getGrantedSubjects
focal_class.parameters: (final Set<String> permissions)
focal_class.return: Set<AuthorizationSubject>
focal_class.signature: Set<AuthorizationSubject> getGrantedSubjects(final Set<String> permissions)
focal_class.class_method_signature: GrantRevokeIndex.getAuthorizationSubjects(final Collection<String> authSubjectIds)
focal_class.full_signature: private static Set<AuthorizationSubject> getAuthorizationSubjects(final Collection<String> authSubjectIds)
focal_class.identifier: getAuthorizationSubjects
focal_class.modifiers: private static
focal_class.parameters: (final Collection<String> authSubjectIds)
focal_class.return: Set<AuthorizationSubject>
focal_class.signature: Set<AuthorizationSubject> getAuthorizationSubjects(final Collection<String> authSubjectIds)
focal_class.class_method_signature: GrantRevokeIndex.getRevokedSubjectIds(final Set<String> permissions)
focal_class.full_signature: @Deprecated Set<String> getRevokedSubjectIds(final Set<String> permissions)
focal_class.identifier: getRevokedSubjectIds
focal_class.modifiers: @Deprecated
focal_class.parameters: (final Set<String> permissions)
focal_class.return: Set<String>
focal_class.signature: Set<String> getRevokedSubjectIds(final Set<String> permissions)
focal_class.class_method_signature: GrantRevokeIndex.getRevokedSubjects(final Set<String> permissions)
focal_class.full_signature:  Set<AuthorizationSubject> getRevokedSubjects(final Set<String> permissions)
focal_class.identifier: getRevokedSubjects
focal_class.parameters: (final Set<String> permissions)
focal_class.return: Set<AuthorizationSubject>
focal_class.signature: Set<AuthorizationSubject> getRevokedSubjects(final Set<String> permissions)
focal_class.class_method_signature: GrantRevokeIndex.equals(final Object o)
focal_class.full_signature: @Override public boolean equals(final Object o)
focal_class.identifier: equals
focal_class.modifiers: @Override public
focal_class.parameters: (final Object o)
focal_class.return: boolean
focal_class.signature: boolean equals(final Object o)
focal_class.class_method_signature: GrantRevokeIndex.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: GrantRevokeIndex.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: boolean hasPermissions(final Collection<String> subjectIds, final Collection<String> permissions) {
          final Optional<Integer> grantWeight = grantMap.getMaxNonemptyWeightForAllPermissions(subjectIds, permissions);
          final Optional<Integer> revokeWeight = revokeMap.getMaxWeightForAllPermissions(subjectIds, permissions);
  
          return grantWeight.isPresent() && (!revokeWeight.isPresent() || revokeWeight.get() < grantWeight.get());
      }
focal_method.class_method_signature: GrantRevokeIndex.hasPermissions(final Collection<String> subjectIds, final Collection<String> permissions)
focal_method.full_signature:  boolean hasPermissions(final Collection<String> subjectIds, final Collection<String> permissions)
focal_method.identifier: hasPermissions
focal_method.invocations: getMaxNonemptyWeightForAllPermissions getMaxWeightForAllPermissions isPresent isPresent get get
focal_method.parameters: (final Collection<String> subjectIds, final Collection<String> permissions)
focal_method.return: boolean
focal_method.signature: boolean hasPermissions(final Collection<String> subjectIds, final Collection<String> permissions)