Package org.molgenis.data.security.meta
Class AttributeRepositorySecurityDecorator
- java.lang.Object
-
- com.google.common.collect.ForwardingObject
-
- org.molgenis.data.AbstractRepositoryDecorator<Attribute>
-
- org.molgenis.data.security.meta.AttributeRepositorySecurityDecorator
-
- All Implemented Interfaces:
Closeable,AutoCloseable,Iterable<Attribute>,Repository<Attribute>
public class AttributeRepositorySecurityDecorator extends AbstractRepositoryDecorator<Attribute>
Decorator for the attribute repository: - filters requested entities based on the entity permissions of the current user.TODO replace permission based entity filtering with generic row-level security once available
-
-
Constructor Summary
Constructors Constructor Description AttributeRepositorySecurityDecorator(Repository<Attribute> delegateRepository, SystemEntityTypeRegistry systemEntityTypeRegistry, UserPermissionEvaluator permissionService)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Integeradd(Stream<Attribute> attrs)voidadd(Attribute attr)AggregateResultaggregate(AggregateQuery aggregateQuery)longcount()longcount(Query<Attribute> q)voiddelete(Stream<Attribute> attrs)voiddelete(Attribute attr)voiddeleteAll()voiddeleteAll(Stream<Object> ids)voiddeleteById(Object id)Stream<Attribute>findAll(Stream<Object> ids)Stream<Attribute>findAll(Stream<Object> ids, Fetch fetch)Stream<Attribute>findAll(Query<Attribute> q)AttributefindOne(Query<Attribute> q)AttributefindOneById(Object id)AttributefindOneById(Object id, Fetch fetch)voidforEachBatched(Fetch fetch, Consumer<List<Attribute>> consumer, int batchSize)Iterator<Attribute>iterator()voidupdate(Stream<Attribute> attrs)voidupdate(Attribute attr)-
Methods inherited from class org.molgenis.data.AbstractRepositoryDecorator
close, delegate, getCapabilities, getEntityType, getName, getQueryOperators, query
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface java.lang.Iterable
forEach, spliterator
-
Methods inherited from interface org.molgenis.data.Repository
forEachBatched, getExistingIDs, upsertBatch
-
-
-
-
Constructor Detail
-
AttributeRepositorySecurityDecorator
public AttributeRepositorySecurityDecorator(Repository<Attribute> delegateRepository, SystemEntityTypeRegistry systemEntityTypeRegistry, UserPermissionEvaluator permissionService)
-
-
Method Detail
-
count
public long count()
- Specified by:
countin interfaceRepository<Attribute>- Overrides:
countin classAbstractRepositoryDecorator<Attribute>
-
count
public long count(Query<Attribute> q)
- Specified by:
countin interfaceRepository<Attribute>- Overrides:
countin classAbstractRepositoryDecorator<Attribute>
-
findAll
public Stream<Attribute> findAll(Query<Attribute> q)
- Specified by:
findAllin interfaceRepository<Attribute>- Overrides:
findAllin classAbstractRepositoryDecorator<Attribute>
-
forEachBatched
public void forEachBatched(Fetch fetch, Consumer<List<Attribute>> consumer, int batchSize)
- Specified by:
forEachBatchedin interfaceRepository<Attribute>- Overrides:
forEachBatchedin classAbstractRepositoryDecorator<Attribute>
-
findOne
public Attribute findOne(Query<Attribute> q)
- Specified by:
findOnein interfaceRepository<Attribute>- Overrides:
findOnein classAbstractRepositoryDecorator<Attribute>
-
findOneById
public Attribute findOneById(Object id)
- Specified by:
findOneByIdin interfaceRepository<Attribute>- Overrides:
findOneByIdin classAbstractRepositoryDecorator<Attribute>
-
findOneById
public Attribute findOneById(Object id, Fetch fetch)
- Specified by:
findOneByIdin interfaceRepository<Attribute>- Overrides:
findOneByIdin classAbstractRepositoryDecorator<Attribute>
-
findAll
public Stream<Attribute> findAll(Stream<Object> ids)
- Specified by:
findAllin interfaceRepository<Attribute>- Overrides:
findAllin classAbstractRepositoryDecorator<Attribute>
-
findAll
public Stream<Attribute> findAll(Stream<Object> ids, Fetch fetch)
- Specified by:
findAllin interfaceRepository<Attribute>- Overrides:
findAllin classAbstractRepositoryDecorator<Attribute>
-
aggregate
public AggregateResult aggregate(AggregateQuery aggregateQuery)
- Specified by:
aggregatein interfaceRepository<Attribute>- Overrides:
aggregatein classAbstractRepositoryDecorator<Attribute>
-
update
public void update(Attribute attr)
- Specified by:
updatein interfaceRepository<Attribute>- Overrides:
updatein classAbstractRepositoryDecorator<Attribute>
-
update
public void update(Stream<Attribute> attrs)
- Specified by:
updatein interfaceRepository<Attribute>- Overrides:
updatein classAbstractRepositoryDecorator<Attribute>
-
delete
public void delete(Attribute attr)
- Specified by:
deletein interfaceRepository<Attribute>- Overrides:
deletein classAbstractRepositoryDecorator<Attribute>
-
delete
public void delete(Stream<Attribute> attrs)
- Specified by:
deletein interfaceRepository<Attribute>- Overrides:
deletein classAbstractRepositoryDecorator<Attribute>
-
deleteById
public void deleteById(Object id)
- Specified by:
deleteByIdin interfaceRepository<Attribute>- Overrides:
deleteByIdin classAbstractRepositoryDecorator<Attribute>
-
deleteAll
public void deleteAll(Stream<Object> ids)
- Specified by:
deleteAllin interfaceRepository<Attribute>- Overrides:
deleteAllin classAbstractRepositoryDecorator<Attribute>
-
deleteAll
public void deleteAll()
- Specified by:
deleteAllin interfaceRepository<Attribute>- Overrides:
deleteAllin classAbstractRepositoryDecorator<Attribute>
-
add
public void add(Attribute attr)
- Specified by:
addin interfaceRepository<Attribute>- Overrides:
addin classAbstractRepositoryDecorator<Attribute>
-
add
public Integer add(Stream<Attribute> attrs)
- Specified by:
addin interfaceRepository<Attribute>- Overrides:
addin classAbstractRepositoryDecorator<Attribute>
-
-