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: fooResourceKey
test_class.modifier: private static
test_class.original_string: private static ResourceKey fooResourceKey;
test_class.type: ResourceKey
test_class.var_name: fooResourceKey
test_class.declarator: barResourceKey
test_class.modifier: private static
test_class.original_string: private static ResourceKey barResourceKey;
test_class.type: ResourceKey
test_class.var_name: barResourceKey
test_class.declarator: policy
test_class.modifier: private static
test_class.original_string: private static Policy policy;
test_class.type: Policy
test_class.var_name: policy
test_class.declarator: underTest = null
test_class.modifier: private
test_class.original_string: private PolicyTrie underTest = null;
test_class.type: PolicyTrie
test_class.var_name: underTest
test_class.file: model/enforcers/src/test/java/org/eclipse/ditto/model/enforcers/trie/PolicyTrieTest.java
test_class.identifier: PolicyTrieTest
test_case.body: @Test
      public void getGrandRevokeIndexOnRootReturnsEmptyIndex() {
          final GrantRevokeIndex expectedGrantRevokeIndex = new GrantRevokeIndex();
  
          final GrantRevokeIndex grantRevokeIndex = underTest.getGrantRevokeIndex();
  
          assertThat(grantRevokeIndex).isEqualTo(expectedGrantRevokeIndex);
      }
test_case.class_method_signature: PolicyTrieTest.getGrandRevokeIndexOnRootReturnsEmptyIndex()
test_case.full_signature: @Test public void getGrandRevokeIndexOnRootReturnsEmptyIndex()
test_case.identifier: getGrandRevokeIndexOnRootReturnsEmptyIndex
test_case.invocations: getGrantRevokeIndex isEqualTo assertThat
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void getGrandRevokeIndexOnRootReturnsEmptyIndex()
focal_class.declarator: grantRevokeIndex
focal_class.modifier: private final
focal_class.original_string: private final GrantRevokeIndex grantRevokeIndex;
focal_class.type: GrantRevokeIndex
focal_class.var_name: grantRevokeIndex
focal_class.declarator: children
focal_class.modifier: private final
focal_class.original_string: private final Map<JsonKey, PolicyTrie> children;
focal_class.type: Map<JsonKey, PolicyTrie>
focal_class.var_name: children
focal_class.file: model/enforcers/src/main/java/org/eclipse/ditto/model/enforcers/trie/PolicyTrie.java
focal_class.identifier: PolicyTrie
focal_class.class_method_signature: PolicyTrie.PolicyTrie()
focal_class.full_signature: private  PolicyTrie()
focal_class.identifier: PolicyTrie
focal_class.modifiers: private
focal_class.parameters: ()
focal_class.signature:  PolicyTrie()
focal_class.class_method_signature: PolicyTrie.PolicyTrie(final GrantRevokeIndex grantRevokeIndex, final Map<JsonKey, PolicyTrie> children)
focal_class.full_signature: private  PolicyTrie(final GrantRevokeIndex grantRevokeIndex, final Map<JsonKey, PolicyTrie> children)
focal_class.identifier: PolicyTrie
focal_class.modifiers: private
focal_class.parameters: (final GrantRevokeIndex grantRevokeIndex, final Map<JsonKey, PolicyTrie> children)
focal_class.signature:  PolicyTrie(final GrantRevokeIndex grantRevokeIndex, final Map<JsonKey, PolicyTrie> children)
focal_class.class_method_signature: PolicyTrie.fromPolicy(final Iterable<PolicyEntry> policy)
focal_class.full_signature: static PolicyTrie fromPolicy(final Iterable<PolicyEntry> policy)
focal_class.identifier: fromPolicy
focal_class.modifiers: static
focal_class.parameters: (final Iterable<PolicyEntry> policy)
focal_class.return: PolicyTrie
focal_class.signature: PolicyTrie fromPolicy(final Iterable<PolicyEntry> policy)
focal_class.class_method_signature: PolicyTrie.addPolicyEntry(final PolicyEntry policyEntry)
focal_class.full_signature: private void addPolicyEntry(final PolicyEntry policyEntry)
focal_class.identifier: addPolicyEntry
focal_class.modifiers: private
focal_class.parameters: (final PolicyEntry policyEntry)
focal_class.return: void
focal_class.signature: void addPolicyEntry(final PolicyEntry policyEntry)
focal_class.class_method_signature: PolicyTrie.getSubjectIds(final Subjects subjects)
focal_class.full_signature: private static Collection<String> getSubjectIds(final Subjects subjects)
focal_class.identifier: getSubjectIds
focal_class.modifiers: private static
focal_class.parameters: (final Subjects subjects)
focal_class.return: Collection<String>
focal_class.signature: Collection<String> getSubjectIds(final Subjects subjects)
focal_class.class_method_signature: PolicyTrie.getJsonKeyIterator(final ResourceKey resourceKey)
focal_class.full_signature: static Iterator<JsonKey> getJsonKeyIterator(final ResourceKey resourceKey)
focal_class.identifier: getJsonKeyIterator
focal_class.modifiers: static
focal_class.parameters: (final ResourceKey resourceKey)
focal_class.return: Iterator<JsonKey>
focal_class.signature: Iterator<JsonKey> getJsonKeyIterator(final ResourceKey resourceKey)
focal_class.class_method_signature: PolicyTrie.seekOrCreate(final Iterator<JsonKey> path)
focal_class.full_signature: private PolicyTrie seekOrCreate(final Iterator<JsonKey> path)
focal_class.identifier: seekOrCreate
focal_class.modifiers: private
focal_class.parameters: (final Iterator<JsonKey> path)
focal_class.return: PolicyTrie
focal_class.signature: PolicyTrie seekOrCreate(final Iterator<JsonKey> path)
focal_class.class_method_signature: PolicyTrie.computeForChild(final Iterator<JsonKey> path)
focal_class.full_signature: private PolicyTrie computeForChild(final Iterator<JsonKey> path)
focal_class.identifier: computeForChild
focal_class.modifiers: private
focal_class.parameters: (final Iterator<JsonKey> path)
focal_class.return: PolicyTrie
focal_class.signature: PolicyTrie computeForChild(final Iterator<JsonKey> path)
focal_class.class_method_signature: PolicyTrie.compute(final JsonKey childKey, final Function<PolicyTrie, PolicyTrie> childUpdate)
focal_class.full_signature: private PolicyTrie compute(final JsonKey childKey, final Function<PolicyTrie, PolicyTrie> childUpdate)
focal_class.identifier: compute
focal_class.modifiers: private
focal_class.parameters: (final JsonKey childKey, final Function<PolicyTrie, PolicyTrie> childUpdate)
focal_class.return: PolicyTrie
focal_class.signature: PolicyTrie compute(final JsonKey childKey, final Function<PolicyTrie, PolicyTrie> childUpdate)
focal_class.class_method_signature: PolicyTrie.grant(final Collection<String> subjectIds, final Iterable<String> permissions)
focal_class.full_signature: private void grant(final Collection<String> subjectIds, final Iterable<String> permissions)
focal_class.identifier: grant
focal_class.modifiers: private
focal_class.parameters: (final Collection<String> subjectIds, final Iterable<String> permissions)
focal_class.return: void
focal_class.signature: void grant(final Collection<String> subjectIds, final Iterable<String> permissions)
focal_class.class_method_signature: PolicyTrie.revoke(final Collection<String> subjectIds, final Iterable<String> permissions)
focal_class.full_signature: private void revoke(final Collection<String> subjectIds, final Iterable<String> permissions)
focal_class.identifier: revoke
focal_class.modifiers: private
focal_class.parameters: (final Collection<String> subjectIds, final Iterable<String> permissions)
focal_class.return: void
focal_class.signature: void revoke(final Collection<String> subjectIds, final Iterable<String> permissions)
focal_class.class_method_signature: PolicyTrie.getGrantRevokeIndex()
focal_class.full_signature:  GrantRevokeIndex getGrantRevokeIndex()
focal_class.identifier: getGrantRevokeIndex
focal_class.parameters: ()
focal_class.return: GrantRevokeIndex
focal_class.signature: GrantRevokeIndex getGrantRevokeIndex()
focal_class.class_method_signature: PolicyTrie.getTransitiveClosure()
focal_class.full_signature:  PolicyTrie getTransitiveClosure()
focal_class.identifier: getTransitiveClosure
focal_class.parameters: ()
focal_class.return: PolicyTrie
focal_class.signature: PolicyTrie getTransitiveClosure()
focal_class.class_method_signature: PolicyTrie.computeTransitiveClosure(final PolicyTrie thisTrie, final GrantRevokeIndex inherited)
focal_class.full_signature: private static PolicyTrie computeTransitiveClosure(final PolicyTrie thisTrie, final GrantRevokeIndex inherited)
focal_class.identifier: computeTransitiveClosure
focal_class.modifiers: private static
focal_class.parameters: (final PolicyTrie thisTrie, final GrantRevokeIndex inherited)
focal_class.return: PolicyTrie
focal_class.signature: PolicyTrie computeTransitiveClosure(final PolicyTrie thisTrie, final GrantRevokeIndex inherited)
focal_class.class_method_signature: PolicyTrie.getBottomUpGrantTrie()
focal_class.full_signature:  PolicyTrie getBottomUpGrantTrie()
focal_class.identifier: getBottomUpGrantTrie
focal_class.parameters: ()
focal_class.return: PolicyTrie
focal_class.signature: PolicyTrie getBottomUpGrantTrie()
focal_class.class_method_signature: PolicyTrie.getBottomUpRevokeTrie()
focal_class.full_signature:  PolicyTrie getBottomUpRevokeTrie()
focal_class.identifier: getBottomUpRevokeTrie
focal_class.parameters: ()
focal_class.return: PolicyTrie
focal_class.signature: PolicyTrie getBottomUpRevokeTrie()
focal_class.class_method_signature: PolicyTrie.hasChild(final JsonKey childKey)
focal_class.full_signature:  boolean hasChild(final JsonKey childKey)
focal_class.identifier: hasChild
focal_class.parameters: (final JsonKey childKey)
focal_class.return: boolean
focal_class.signature: boolean hasChild(final JsonKey childKey)
focal_class.class_method_signature: PolicyTrie.buildJsonView(final Iterable<JsonField> jsonFields, final Collection<String> subjectIds,
              final Permissions permissions)
focal_class.full_signature: @SuppressWarnings("unchecked") JsonObject buildJsonView(final Iterable<JsonField> jsonFields, final Collection<String> subjectIds,
              final Permissions permissions)
focal_class.identifier: buildJsonView
focal_class.modifiers: @SuppressWarnings("unchecked")
focal_class.parameters: (final Iterable<JsonField> jsonFields, final Collection<String> subjectIds,
              final Permissions permissions)
focal_class.return: JsonObject
focal_class.signature: JsonObject buildJsonView(final Iterable<JsonField> jsonFields, final Collection<String> subjectIds,
              final Permissions permissions)
focal_class.class_method_signature: PolicyTrie.getViewForJsonFieldOrNull(final JsonField jsonField,
              final PolicyTrie defaultPolicyTrie,
              final Collection<String> subjectIds,
              final Permissions permissions)
focal_class.full_signature: @Nullable private JsonValue getViewForJsonFieldOrNull(final JsonField jsonField,
              final PolicyTrie defaultPolicyTrie,
              final Collection<String> subjectIds,
              final Permissions permissions)
focal_class.identifier: getViewForJsonFieldOrNull
focal_class.modifiers: @Nullable private
focal_class.parameters: (final JsonField jsonField,
              final PolicyTrie defaultPolicyTrie,
              final Collection<String> subjectIds,
              final Permissions permissions)
focal_class.return: JsonValue
focal_class.signature: JsonValue getViewForJsonFieldOrNull(final JsonField jsonField,
              final PolicyTrie defaultPolicyTrie,
              final Collection<String> subjectIds,
              final Permissions permissions)
focal_class.class_method_signature: PolicyTrie.getViewForJsonValueOrNull(final JsonValue jsonValue, final Collection<String> subjectIds,
              final Permissions permissions)
focal_class.full_signature: @Nullable private JsonValue getViewForJsonValueOrNull(final JsonValue jsonValue, final Collection<String> subjectIds,
              final Permissions permissions)
focal_class.identifier: getViewForJsonValueOrNull
focal_class.modifiers: @Nullable private
focal_class.parameters: (final JsonValue jsonValue, final Collection<String> subjectIds,
              final Permissions permissions)
focal_class.return: JsonValue
focal_class.signature: JsonValue getViewForJsonValueOrNull(final JsonValue jsonValue, final Collection<String> subjectIds,
              final Permissions permissions)
focal_class.class_method_signature: PolicyTrie.getViewForJsonObjectOrNull(final Iterable<JsonField> jsonObject,
              final Collection<String> subjectIds, final Permissions permissions)
focal_class.full_signature: @Nullable private JsonValue getViewForJsonObjectOrNull(final Iterable<JsonField> jsonObject,
              final Collection<String> subjectIds, final Permissions permissions)
focal_class.identifier: getViewForJsonObjectOrNull
focal_class.modifiers: @Nullable private
focal_class.parameters: (final Iterable<JsonField> jsonObject,
              final Collection<String> subjectIds, final Permissions permissions)
focal_class.return: JsonValue
focal_class.signature: JsonValue getViewForJsonObjectOrNull(final Iterable<JsonField> jsonObject,
              final Collection<String> subjectIds, final Permissions permissions)
focal_class.class_method_signature: PolicyTrie.filterCandidate(final T candidate,
              final Collection<String> subjectIds, final Collection<String> permissions)
focal_class.full_signature: @Nullable private T filterCandidate(final T candidate,
              final Collection<String> subjectIds, final Collection<String> permissions)
focal_class.identifier: filterCandidate
focal_class.modifiers: @Nullable private
focal_class.parameters: (final T candidate,
              final Collection<String> subjectIds, final Collection<String> permissions)
focal_class.return: T
focal_class.signature: T filterCandidate(final T candidate,
              final Collection<String> subjectIds, final Collection<String> permissions)
focal_class.class_method_signature: PolicyTrie.getViewForJsonArrayOrNull(final JsonValueContainer<JsonValue> jsonArray,
              final Collection<String> subjectIds, final Permissions permissions)
focal_class.full_signature: @Nullable private JsonValue getViewForJsonArrayOrNull(final JsonValueContainer<JsonValue> jsonArray,
              final Collection<String> subjectIds, final Permissions permissions)
focal_class.identifier: getViewForJsonArrayOrNull
focal_class.modifiers: @Nullable private
focal_class.parameters: (final JsonValueContainer<JsonValue> jsonArray,
              final Collection<String> subjectIds, final Permissions permissions)
focal_class.return: JsonValue
focal_class.signature: JsonValue getViewForJsonArrayOrNull(final JsonValueContainer<JsonValue> jsonArray,
              final Collection<String> subjectIds, final Permissions permissions)
focal_class.class_method_signature: PolicyTrie.seekToLeastAncestor(final Iterator<JsonKey> path)
focal_class.full_signature:  PolicyTrie seekToLeastAncestor(final Iterator<JsonKey> path)
focal_class.identifier: seekToLeastAncestor
focal_class.parameters: (final Iterator<JsonKey> path)
focal_class.return: PolicyTrie
focal_class.signature: PolicyTrie seekToLeastAncestor(final Iterator<JsonKey> path)
focal_class.class_method_signature: PolicyTrie.seekToExactNode(final Iterator<JsonKey> path)
focal_class.full_signature:  Optional<PolicyTrie> seekToExactNode(final Iterator<JsonKey> path)
focal_class.identifier: seekToExactNode
focal_class.parameters: (final Iterator<JsonKey> path)
focal_class.return: Optional<PolicyTrie>
focal_class.signature: Optional<PolicyTrie> seekToExactNode(final Iterator<JsonKey> path)
focal_class.class_method_signature: PolicyTrie.seek(final Iterator<JsonKey> path, final Function<PolicyTrie, T> endOfPath,
              final Function<PolicyTrie, T> endOfTrie)
focal_class.full_signature: private T seek(final Iterator<JsonKey> path, final Function<PolicyTrie, T> endOfPath,
              final Function<PolicyTrie, T> endOfTrie)
focal_class.identifier: seek
focal_class.modifiers: private
focal_class.parameters: (final Iterator<JsonKey> path, final Function<PolicyTrie, T> endOfPath,
              final Function<PolicyTrie, T> endOfTrie)
focal_class.return: T
focal_class.signature: T seek(final Iterator<JsonKey> path, final Function<PolicyTrie, T> endOfPath,
              final Function<PolicyTrie, T> endOfTrie)
focal_method.body: GrantRevokeIndex getGrantRevokeIndex() {
          return grantRevokeIndex;
      }
focal_method.class_method_signature: PolicyTrie.getGrantRevokeIndex()
focal_method.full_signature:  GrantRevokeIndex getGrantRevokeIndex()
focal_method.identifier: getGrantRevokeIndex
focal_method.parameters: ()
focal_method.return: GrantRevokeIndex
focal_method.signature: GrantRevokeIndex getGrantRevokeIndex()