import javax.annotation.Nullable;
import org.apache.jackrabbit.oak.api.PropertyState;
import org.apache.jackrabbit.oak.api.Tree;
public interface PermissionProvider {
@Nonnull
<BUG>Set<String> getPrivilegeNames(@Nullable Tree tree);
boolean hasPrivileges(@Nullable Tree tree, String... privilegeNames);</BUG>
boolean canRead(@Nonnull Tree tree);
boolean canRead(@Nonnull Tree tree, @Nonnull PropertyState property);
boolean isGranted(long permissions);

import javax.annotation.Nullable;
import org.apache.jackrabbit.oak.api.PropertyState;
import org.apache.jackrabbit.oak.api.Tree;
public interface PermissionProvider {
@Nonnull
Set<String> getPrivileges(@Nullable Tree tree);
boolean hasPrivileges(@Nullable Tree tree, String... privilegeNames);
boolean canRead(@Nonnull Tree tree);
boolean canRead(@Nonnull Tree tree, @Nonnull PropertyState property);
boolean isGranted(long permissions);
