public boolean canRead(Authorizations authorizations) { return inMemoryTableElement.canRead(authorizations); }
public boolean isDeleted(Long endTime, Authorizations authorizations) { List<Mutation> filteredMutations = getFilteredMutations(m -> canRead(m.getVisibility(), authorizations) && (endTime == null || m.getTimestamp() <= endTime) && (m instanceof SoftDeleteMutation || m instanceof ElementTimestampMutation) ); return filteredMutations.isEmpty() || filteredMutations.get(filteredMutations.size() - 1) instanceof SoftDeleteMutation; }
protected boolean isIncluded( InMemoryTableElement element, FetchHints fetchHints, Authorizations authorizations ) { boolean includeHidden = fetchHints.isIncludeHidden(); if (!element.canRead(authorizations)) { return false; } if (!includeHidden) { if (element.isHidden(authorizations)) { return false; } } return true; }
protected List<Mutation> getFilteredMutations(boolean includeHidden, Long endTime, Authorizations authorizations) { return getFilteredMutations(m -> canRead(m.getVisibility(), authorizations) && (endTime == null || m.getTimestamp() <= endTime) && (includeHidden || !(m instanceof MarkHiddenMutation || m instanceof MarkPropertyHiddenMutation)) ); }
protected boolean isIncludedInTimeSpan( InMemoryTableElement element, FetchHints fetchHints, Long endTime, Authorizations authorizations ) { boolean includeHidden = fetchHints.isIncludeHidden(); if (!element.canRead(authorizations)) { return false; } if (!includeHidden && element.isHidden(authorizations)) { return false; } if (element.isDeleted(endTime, authorizations)) { return false; } if (endTime != null && element.getFirstTimestamp() > endTime) { return false; } return true; }
boolean hidden = false; for (PropertyMutation m : propertyMutations) { if (!canRead(m.getVisibility(), authorizations)) { continue;
continue; if (!canRead(m.getVisibility(), authorizations)) { continue;