test_class.declarator: path = "/testPath"
test_class.modifier: private
test_class.original_string: private String path = "/testPath";
test_class.type: String
test_class.var_name: path
test_class.declarator: principalManager
test_class.modifier: private
test_class.original_string: private PrincipalManager principalManager;
test_class.type: PrincipalManager
test_class.var_name: principalManager
test_class.declarator: testPrincipal = new PrincipalImpl("test")
test_class.modifier: private
test_class.original_string: private Principal testPrincipal = new PrincipalImpl("test");
test_class.type: Principal
test_class.var_name: testPrincipal
test_class.declarator: principals = ImmutableSet.of(testPrincipal)
test_class.original_string: Set<Principal> principals = ImmutableSet.of(testPrincipal);
test_class.type: Set<Principal>
test_class.var_name: principals
test_class.declarator: exclude = new CugExclude.Default()
test_class.modifier: private
test_class.original_string: private CugExclude exclude = new CugExclude.Default();
test_class.type: CugExclude
test_class.var_name: exclude
test_class.file: oak-authorization-cug/src/test/java/org/apache/jackrabbit/oak/spi/security/authorization/cug/impl/CugPolicyImplTest.java
test_class.identifier: CugPolicyImplTest
test_class.superclass: extends AbstractSecurityTest
test_case.body: @Test
      public void testGetPrincipalNames() {
          CugPolicyImpl cug = createCugPolicy(principals);
  
          Iterator<String> it = cug.getPrincipalNames().iterator();
          assertTrue(it.hasNext());
          assertEquals("test", it.next());
          assertFalse(it.hasNext());
      }
test_case.class_method_signature: CugPolicyImplTest.testGetPrincipalNames()
test_case.full_signature: @Test public void testGetPrincipalNames()
test_case.identifier: testGetPrincipalNames
test_case.invocations: createCugPolicy iterator getPrincipalNames assertTrue hasNext assertEquals next assertFalse hasNext
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void testGetPrincipalNames()
focal_class.declarator: log = LoggerFactory.getLogger(CugPolicyImpl.class)
focal_class.modifier: private static final
focal_class.original_string: private static final Logger log = LoggerFactory.getLogger(CugPolicyImpl.class);
focal_class.type: Logger
focal_class.var_name: log
focal_class.declarator: IMMUTABLE_ERR = "Immutable CUG. Use getApplicablePolicies or getPolicies in order to obtain a modifiable policy."
focal_class.modifier: private static final
focal_class.original_string: private static final String IMMUTABLE_ERR = "Immutable CUG. Use getApplicablePolicies or getPolicies in order to obtain a modifiable policy.";
focal_class.type: String
focal_class.var_name: IMMUTABLE_ERR
focal_class.declarator: oakPath
focal_class.modifier: private final
focal_class.original_string: private final String oakPath;
focal_class.type: String
focal_class.var_name: oakPath
focal_class.declarator: namePathMapper
focal_class.modifier: private final
focal_class.original_string: private final NamePathMapper namePathMapper;
focal_class.type: NamePathMapper
focal_class.var_name: namePathMapper
focal_class.declarator: principalManager
focal_class.modifier: private final
focal_class.original_string: private final PrincipalManager principalManager;
focal_class.type: PrincipalManager
focal_class.var_name: principalManager
focal_class.declarator: importBehavior
focal_class.modifier: private final
focal_class.original_string: private final int importBehavior;
focal_class.type: int
focal_class.var_name: importBehavior
focal_class.declarator: cugExclude
focal_class.modifier: private final
focal_class.original_string: private final CugExclude cugExclude;
focal_class.type: CugExclude
focal_class.var_name: cugExclude
focal_class.declarator: immutable
focal_class.modifier: private final
focal_class.original_string: private final boolean immutable;
focal_class.type: boolean
focal_class.var_name: immutable
focal_class.declarator: principals = new LinkedHashMap<>()
focal_class.modifier: private final
focal_class.original_string: private final Map<String,Principal> principals = new LinkedHashMap<>();
focal_class.type: Map<String,Principal>
focal_class.var_name: principals
focal_class.file: oak-authorization-cug/src/main/java/org/apache/jackrabbit/oak/spi/security/authorization/cug/impl/CugPolicyImpl.java
focal_class.identifier: CugPolicyImpl
focal_class.interfaces: implements CugPolicy
focal_class.class_method_signature: CugPolicyImpl.CugPolicyImpl(@NotNull String oakPath, @NotNull NamePathMapper namePathMapper,
                    @NotNull PrincipalManager principalManager, int importBehavior, @NotNull CugExclude cugExclude)
focal_class.full_signature:   CugPolicyImpl(@NotNull String oakPath, @NotNull NamePathMapper namePathMapper,
                    @NotNull PrincipalManager principalManager, int importBehavior, @NotNull CugExclude cugExclude)
focal_class.identifier: CugPolicyImpl
focal_class.parameters: (@NotNull String oakPath, @NotNull NamePathMapper namePathMapper,
                    @NotNull PrincipalManager principalManager, int importBehavior, @NotNull CugExclude cugExclude)
focal_class.signature:  CugPolicyImpl(@NotNull String oakPath, @NotNull NamePathMapper namePathMapper,
                    @NotNull PrincipalManager principalManager, int importBehavior, @NotNull CugExclude cugExclude)
focal_class.class_method_signature: CugPolicyImpl.CugPolicyImpl(@NotNull String oakPath, @NotNull NamePathMapper namePathMapper,
                    @NotNull PrincipalManager principalManager, int importBehavior,
                    @NotNull CugExclude cugExclude, @NotNull Iterable<Principal> principals, boolean immutable)
focal_class.full_signature:   CugPolicyImpl(@NotNull String oakPath, @NotNull NamePathMapper namePathMapper,
                    @NotNull PrincipalManager principalManager, int importBehavior,
                    @NotNull CugExclude cugExclude, @NotNull Iterable<Principal> principals, boolean immutable)
focal_class.identifier: CugPolicyImpl
focal_class.parameters: (@NotNull String oakPath, @NotNull NamePathMapper namePathMapper,
                    @NotNull PrincipalManager principalManager, int importBehavior,
                    @NotNull CugExclude cugExclude, @NotNull Iterable<Principal> principals, boolean immutable)
focal_class.signature:  CugPolicyImpl(@NotNull String oakPath, @NotNull NamePathMapper namePathMapper,
                    @NotNull PrincipalManager principalManager, int importBehavior,
                    @NotNull CugExclude cugExclude, @NotNull Iterable<Principal> principals, boolean immutable)
focal_class.class_method_signature: CugPolicyImpl.checkIsMutable()
focal_class.full_signature: private void checkIsMutable()
focal_class.identifier: checkIsMutable
focal_class.modifiers: private
focal_class.parameters: ()
focal_class.return: void
focal_class.signature: void checkIsMutable()
focal_class.class_method_signature: CugPolicyImpl.getPrincipals()
focal_class.full_signature: @NotNull @Override public Set<Principal> getPrincipals()
focal_class.identifier: getPrincipals
focal_class.modifiers: @NotNull @Override public
focal_class.parameters: ()
focal_class.return: Set<Principal>
focal_class.signature: Set<Principal> getPrincipals()
focal_class.class_method_signature: CugPolicyImpl.addPrincipals(@NotNull Principal... principals)
focal_class.full_signature: @Override public boolean addPrincipals(@NotNull Principal... principals)
focal_class.identifier: addPrincipals
focal_class.modifiers: @Override public
focal_class.parameters: (@NotNull Principal... principals)
focal_class.return: boolean
focal_class.signature: boolean addPrincipals(@NotNull Principal... principals)
focal_class.class_method_signature: CugPolicyImpl.removePrincipals(@NotNull Principal... principals)
focal_class.full_signature: @Override public boolean removePrincipals(@NotNull Principal... principals)
focal_class.identifier: removePrincipals
focal_class.modifiers: @Override public
focal_class.parameters: (@NotNull Principal... principals)
focal_class.return: boolean
focal_class.signature: boolean removePrincipals(@NotNull Principal... principals)
focal_class.class_method_signature: CugPolicyImpl.getPath()
focal_class.full_signature: @Override public String getPath()
focal_class.identifier: getPath
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: String
focal_class.signature: String getPath()
focal_class.class_method_signature: CugPolicyImpl.getPrincipalNames()
focal_class.full_signature:  Iterable<String> getPrincipalNames()
focal_class.identifier: getPrincipalNames
focal_class.parameters: ()
focal_class.return: Iterable<String>
focal_class.signature: Iterable<String> getPrincipalNames()
focal_class.class_method_signature: CugPolicyImpl.isValidPrincipal(@Nullable Principal principal)
focal_class.full_signature: private boolean isValidPrincipal(@Nullable Principal principal)
focal_class.identifier: isValidPrincipal
focal_class.modifiers: private
focal_class.parameters: (@Nullable Principal principal)
focal_class.return: boolean
focal_class.signature: boolean isValidPrincipal(@Nullable Principal principal)
focal_method.body: Iterable<String> getPrincipalNames() {
          return Sets.newHashSet(principals.keySet());
      }
focal_method.class_method_signature: CugPolicyImpl.getPrincipalNames()
focal_method.full_signature:  Iterable<String> getPrincipalNames()
focal_method.identifier: getPrincipalNames
focal_method.invocations: newHashSet keySet
focal_method.parameters: ()
focal_method.return: Iterable<String>
focal_method.signature: Iterable<String> getPrincipalNames()