Class L1CacheRepositoryDecorator

  • All Implemented Interfaces:
    Closeable, AutoCloseable, Iterable<org.molgenis.data.Entity>, org.molgenis.data.Repository<org.molgenis.data.Entity>

    public class L1CacheRepositoryDecorator
    extends org.molgenis.data.AbstractRepositoryDecorator<org.molgenis.data.Entity>
    Adds, removes and retrieves entities from the L1Cache when a Repository is RepositoryCapability.CACHEABLE. Delegates to the underlying repository when an action is not supported by the cache or when the cache doesn't contain the needed entity.
    • Constructor Detail

      • L1CacheRepositoryDecorator

        public L1CacheRepositoryDecorator​(org.molgenis.data.Repository<org.molgenis.data.Entity> delegateRepository,
                                          L1Cache l1Cache)
    • Method Detail

      • add

        public Integer add​(Stream<org.molgenis.data.Entity> entities)
        Specified by:
        add in interface org.molgenis.data.Repository<org.molgenis.data.Entity>
        Overrides:
        add in class org.molgenis.data.AbstractRepositoryDecorator<org.molgenis.data.Entity>
      • add

        public void add​(org.molgenis.data.Entity entity)
        Specified by:
        add in interface org.molgenis.data.Repository<org.molgenis.data.Entity>
        Overrides:
        add in class org.molgenis.data.AbstractRepositoryDecorator<org.molgenis.data.Entity>
      • findOneById

        public org.molgenis.data.Entity findOneById​(Object id)
        Specified by:
        findOneById in interface org.molgenis.data.Repository<org.molgenis.data.Entity>
        Overrides:
        findOneById in class org.molgenis.data.AbstractRepositoryDecorator<org.molgenis.data.Entity>
      • findAll

        public Stream<org.molgenis.data.Entity> findAll​(Stream<Object> ids)
        Specified by:
        findAll in interface org.molgenis.data.Repository<org.molgenis.data.Entity>
        Overrides:
        findAll in class org.molgenis.data.AbstractRepositoryDecorator<org.molgenis.data.Entity>
      • update

        public void update​(org.molgenis.data.Entity entity)
        Specified by:
        update in interface org.molgenis.data.Repository<org.molgenis.data.Entity>
        Overrides:
        update in class org.molgenis.data.AbstractRepositoryDecorator<org.molgenis.data.Entity>
      • update

        public void update​(Stream<org.molgenis.data.Entity> entities)
        Specified by:
        update in interface org.molgenis.data.Repository<org.molgenis.data.Entity>
        Overrides:
        update in class org.molgenis.data.AbstractRepositoryDecorator<org.molgenis.data.Entity>
      • delete

        public void delete​(org.molgenis.data.Entity entity)
        Specified by:
        delete in interface org.molgenis.data.Repository<org.molgenis.data.Entity>
        Overrides:
        delete in class org.molgenis.data.AbstractRepositoryDecorator<org.molgenis.data.Entity>
      • delete

        public void delete​(Stream<org.molgenis.data.Entity> entities)
        Specified by:
        delete in interface org.molgenis.data.Repository<org.molgenis.data.Entity>
        Overrides:
        delete in class org.molgenis.data.AbstractRepositoryDecorator<org.molgenis.data.Entity>
      • deleteById

        public void deleteById​(Object id)
        Specified by:
        deleteById in interface org.molgenis.data.Repository<org.molgenis.data.Entity>
        Overrides:
        deleteById in class org.molgenis.data.AbstractRepositoryDecorator<org.molgenis.data.Entity>
      • deleteAll

        public void deleteAll​(Stream<Object> ids)
        Specified by:
        deleteAll in interface org.molgenis.data.Repository<org.molgenis.data.Entity>
        Overrides:
        deleteAll in class org.molgenis.data.AbstractRepositoryDecorator<org.molgenis.data.Entity>
      • deleteAll

        public void deleteAll()
        Specified by:
        deleteAll in interface org.molgenis.data.Repository<org.molgenis.data.Entity>
        Overrides:
        deleteAll in class org.molgenis.data.AbstractRepositoryDecorator<org.molgenis.data.Entity>