test_class.declarator: emptyProperties
test_class.modifier: private
test_class.original_string: private AuthorizablePropertiesImpl emptyProperties;
test_class.type: AuthorizablePropertiesImpl
test_class.var_name: emptyProperties
test_class.declarator: user2
test_class.modifier: private
test_class.original_string: private Authorizable user2;
test_class.type: Authorizable
test_class.var_name: user2
test_class.declarator: properties
test_class.modifier: private
test_class.original_string: private AuthorizablePropertiesImpl properties;
test_class.type: AuthorizablePropertiesImpl
test_class.var_name: properties
test_class.declarator: vf
test_class.modifier: private
test_class.original_string: private ValueFactory vf;
test_class.type: ValueFactory
test_class.var_name: vf
test_class.file: oak-core/src/test/java/org/apache/jackrabbit/oak/security/user/AuthorizablePropertiesImplTest.java
test_class.identifier: AuthorizablePropertiesImplTest
test_class.superclass: extends AbstractSecurityTest
test_case.body: @Test(expected = RepositoryException.class)
      public void testGetNamesOtherUser() throws Exception {
          emptyProperties.getNames("../" + PathUtils.getName(user2.getPath()));
      }
test_case.class_method_signature: AuthorizablePropertiesImplTest.testGetNamesOtherUser()
test_case.full_signature: @Test(expected = RepositoryException.class) public void testGetNamesOtherUser()
test_case.identifier: testGetNamesOtherUser
test_case.invocations: getNames getName getPath
test_case.modifiers: @Test(expected = RepositoryException.class) public
test_case.parameters: ()
test_case.return: void
test_case.signature: void testGetNamesOtherUser()
focal_class.declarator: log = LoggerFactory.getLogger(AuthorizablePropertiesImpl.class)
focal_class.modifier: private static final
focal_class.original_string: private static final Logger log = LoggerFactory.getLogger(AuthorizablePropertiesImpl.class);
focal_class.type: Logger
focal_class.var_name: log
focal_class.declarator: authorizable
focal_class.modifier: private final
focal_class.original_string: private final AuthorizableImpl authorizable;
focal_class.type: AuthorizableImpl
focal_class.var_name: authorizable
focal_class.declarator: valueFactory
focal_class.modifier: private final
focal_class.original_string: private final PartialValueFactory valueFactory;
focal_class.type: PartialValueFactory
focal_class.var_name: valueFactory
focal_class.file: oak-core/src/main/java/org/apache/jackrabbit/oak/security/user/AuthorizablePropertiesImpl.java
focal_class.identifier: AuthorizablePropertiesImpl
focal_class.interfaces: implements AuthorizableProperties
focal_class.class_method_signature: AuthorizablePropertiesImpl.AuthorizablePropertiesImpl(@NotNull AuthorizableImpl authorizable,
                                 @NotNull PartialValueFactory valueFactory)
focal_class.full_signature:   AuthorizablePropertiesImpl(@NotNull AuthorizableImpl authorizable,
                                 @NotNull PartialValueFactory valueFactory)
focal_class.identifier: AuthorizablePropertiesImpl
focal_class.parameters: (@NotNull AuthorizableImpl authorizable,
                                 @NotNull PartialValueFactory valueFactory)
focal_class.signature:  AuthorizablePropertiesImpl(@NotNull AuthorizableImpl authorizable,
                                 @NotNull PartialValueFactory valueFactory)
focal_class.class_method_signature: AuthorizablePropertiesImpl.getNames(@NotNull String relPath)
focal_class.full_signature: @NotNull @Override public Iterator<String> getNames(@NotNull String relPath)
focal_class.identifier: getNames
focal_class.modifiers: @NotNull @Override public
focal_class.parameters: (@NotNull String relPath)
focal_class.return: Iterator<String>
focal_class.signature: Iterator<String> getNames(@NotNull String relPath)
focal_class.class_method_signature: AuthorizablePropertiesImpl.hasProperty(@NotNull String relPath)
focal_class.full_signature: @Override public boolean hasProperty(@NotNull String relPath)
focal_class.identifier: hasProperty
focal_class.modifiers: @Override public
focal_class.parameters: (@NotNull String relPath)
focal_class.return: boolean
focal_class.signature: boolean hasProperty(@NotNull String relPath)
focal_class.class_method_signature: AuthorizablePropertiesImpl.getProperty(@NotNull String relPath)
focal_class.full_signature: @Override public Value[] getProperty(@NotNull String relPath)
focal_class.identifier: getProperty
focal_class.modifiers: @Override public
focal_class.parameters: (@NotNull String relPath)
focal_class.return: Value[]
focal_class.signature: Value[] getProperty(@NotNull String relPath)
focal_class.class_method_signature: AuthorizablePropertiesImpl.setProperty(@NotNull String relPath, @Nullable Value value)
focal_class.full_signature: @Override public void setProperty(@NotNull String relPath, @Nullable Value value)
focal_class.identifier: setProperty
focal_class.modifiers: @Override public
focal_class.parameters: (@NotNull String relPath, @Nullable Value value)
focal_class.return: void
focal_class.signature: void setProperty(@NotNull String relPath, @Nullable Value value)
focal_class.class_method_signature: AuthorizablePropertiesImpl.setProperty(@NotNull String relPath, @Nullable Value[] values)
focal_class.full_signature: @Override public void setProperty(@NotNull String relPath, @Nullable Value[] values)
focal_class.identifier: setProperty
focal_class.modifiers: @Override public
focal_class.parameters: (@NotNull String relPath, @Nullable Value[] values)
focal_class.return: void
focal_class.signature: void setProperty(@NotNull String relPath, @Nullable Value[] values)
focal_class.class_method_signature: AuthorizablePropertiesImpl.removeProperty(@NotNull String relPath)
focal_class.full_signature: @Override public boolean removeProperty(@NotNull String relPath)
focal_class.identifier: removeProperty
focal_class.modifiers: @Override public
focal_class.parameters: (@NotNull String relPath)
focal_class.return: boolean
focal_class.signature: boolean removeProperty(@NotNull String relPath)
focal_class.class_method_signature: AuthorizablePropertiesImpl.getTree()
focal_class.full_signature: @NotNull private Tree getTree()
focal_class.identifier: getTree
focal_class.modifiers: @NotNull private
focal_class.parameters: ()
focal_class.return: Tree
focal_class.signature: Tree getTree()
focal_class.class_method_signature: AuthorizablePropertiesImpl.isAuthorizableProperty(@NotNull Tree authorizableTree, @NotNull TreeLocation propertyLocation, boolean verifyAncestor)
focal_class.full_signature: private boolean isAuthorizableProperty(@NotNull Tree authorizableTree, @NotNull TreeLocation propertyLocation, boolean verifyAncestor)
focal_class.identifier: isAuthorizableProperty
focal_class.modifiers: private
focal_class.parameters: (@NotNull Tree authorizableTree, @NotNull TreeLocation propertyLocation, boolean verifyAncestor)
focal_class.return: boolean
focal_class.signature: boolean isAuthorizableProperty(@NotNull Tree authorizableTree, @NotNull TreeLocation propertyLocation, boolean verifyAncestor)
focal_class.class_method_signature: AuthorizablePropertiesImpl.getAuthorizableProperty(@NotNull Tree authorizableTree, @NotNull TreeLocation propertyLocation, boolean verifyAncestor)
focal_class.full_signature: @Nullable private PropertyState getAuthorizableProperty(@NotNull Tree authorizableTree, @NotNull TreeLocation propertyLocation, boolean verifyAncestor)
focal_class.identifier: getAuthorizableProperty
focal_class.modifiers: @Nullable private
focal_class.parameters: (@NotNull Tree authorizableTree, @NotNull TreeLocation propertyLocation, boolean verifyAncestor)
focal_class.return: PropertyState
focal_class.signature: PropertyState getAuthorizableProperty(@NotNull Tree authorizableTree, @NotNull TreeLocation propertyLocation, boolean verifyAncestor)
focal_class.class_method_signature: AuthorizablePropertiesImpl.checkProtectedProperty(@NotNull Tree parent, @NotNull PropertyState property)
focal_class.full_signature: private void checkProtectedProperty(@NotNull Tree parent, @NotNull PropertyState property)
focal_class.identifier: checkProtectedProperty
focal_class.modifiers: private
focal_class.parameters: (@NotNull Tree parent, @NotNull PropertyState property)
focal_class.return: void
focal_class.signature: void checkProtectedProperty(@NotNull Tree parent, @NotNull PropertyState property)
focal_class.class_method_signature: AuthorizablePropertiesImpl.getOrCreateTargetTree(@Nullable String relPath)
focal_class.full_signature: @NotNull private Tree getOrCreateTargetTree(@Nullable String relPath)
focal_class.identifier: getOrCreateTargetTree
focal_class.modifiers: @NotNull private
focal_class.parameters: (@Nullable String relPath)
focal_class.return: Tree
focal_class.signature: Tree getOrCreateTargetTree(@Nullable String relPath)
focal_class.class_method_signature: AuthorizablePropertiesImpl.getLocation(@NotNull Tree tree, @NotNull String relativePath)
focal_class.full_signature: @NotNull private static TreeLocation getLocation(@NotNull Tree tree, @NotNull String relativePath)
focal_class.identifier: getLocation
focal_class.modifiers: @NotNull private static
focal_class.parameters: (@NotNull Tree tree, @NotNull String relativePath)
focal_class.return: TreeLocation
focal_class.signature: TreeLocation getLocation(@NotNull Tree tree, @NotNull String relativePath)
focal_class.class_method_signature: AuthorizablePropertiesImpl.getOakPath(@NotNull String relPath)
focal_class.full_signature: @NotNull private String getOakPath(@NotNull String relPath)
focal_class.identifier: getOakPath
focal_class.modifiers: @NotNull private
focal_class.parameters: (@NotNull String relPath)
focal_class.return: String
focal_class.signature: String getOakPath(@NotNull String relPath)
focal_class.class_method_signature: AuthorizablePropertiesImpl.checkScope(@NotNull String userPath, @NotNull String targetPath, @NotNull String relPath)
focal_class.full_signature: private static void checkScope(@NotNull String userPath, @NotNull String targetPath, @NotNull String relPath)
focal_class.identifier: checkScope
focal_class.modifiers: private static
focal_class.parameters: (@NotNull String userPath, @NotNull String targetPath, @NotNull String relPath)
focal_class.return: void
focal_class.signature: void checkScope(@NotNull String userPath, @NotNull String targetPath, @NotNull String relPath)
focal_method.body: @NotNull
      @Override
      public Iterator<String> getNames(@NotNull String relPath) throws RepositoryException {
          String oakPath = getOakPath(relPath);
          Tree tree = getTree();
          TreeLocation location = getLocation(tree, oakPath);
          Tree parent = location.getTree();
          if (parent != null && Text.isDescendantOrEqual(tree.getPath(), parent.getPath())) {
              List<String> l = new ArrayList<>();
              for (PropertyState property : parent.getProperties()) {
                  String propName = property.getName();
                  if (isAuthorizableProperty(tree, location.getChild(propName), false)) {
                      l.add(valueFactory.getNamePathMapper().getJcrName(propName));
                  }
              }
              return l.iterator();
          } else {
              throw new RepositoryException("Relative path " + relPath + " refers to non-existing tree or tree outside of scope of authorizable.");
          }
      }
focal_method.class_method_signature: AuthorizablePropertiesImpl.getNames(@NotNull String relPath)
focal_method.full_signature: @NotNull @Override public Iterator<String> getNames(@NotNull String relPath)
focal_method.identifier: getNames
focal_method.invocations: getOakPath getTree getLocation getTree isDescendantOrEqual getPath getPath getProperties getName isAuthorizableProperty getChild add getJcrName getNamePathMapper iterator
focal_method.modifiers: @NotNull @Override public
focal_method.parameters: (@NotNull String relPath)
focal_method.return: Iterator<String>
focal_method.signature: Iterator<String> getNames(@NotNull String relPath)