Interface CoherenceRepository<T,​ID>

  • Type Parameters:
    T - the domain type the repository manages
    ID - the type of the id of the entity the repository manages
    All Superinterfaces:
    org.springframework.data.repository.CrudRepository<T,​ID>, ListenerSupport<T,​ID>, org.springframework.data.repository.PagingAndSortingRepository<T,​ID>, org.springframework.data.repository.Repository<T,​ID>

    public interface CoherenceRepository<T,​ID>
    extends org.springframework.data.repository.PagingAndSortingRepository<T,​ID>, ListenerSupport<T,​ID>
    Coherence-specific Repository interface.
    Since:
    3.0
    Author:
    Ryan Lubke
    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      void addListener​(com.oracle.coherence.repository.AbstractRepositoryBase.Listener<? super T> listener)
      Register a listener that will observe all repository events.
      void addListener​(com.tangosol.util.Filter<?> filter, com.oracle.coherence.repository.AbstractRepositoryBase.Listener<? super T> listener)
      Register a listener that will observe all events for entities that satisfy the specified criteria.
      void addListener​(ID id, com.oracle.coherence.repository.AbstractRepositoryBase.Listener<? super T> listener)
      Register a listener that will observe all events for a specific entity.
      BigDecimal average​(com.tangosol.util.Filter<?> filter, com.tangosol.util.function.Remote.ToBigDecimalFunction<? super T> extractor)
      Return the average of the specified function.
      double average​(com.tangosol.util.Filter<?> filter, com.tangosol.util.function.Remote.ToDoubleFunction<? super T> extractor)
      Return the average of the specified function.
      double average​(com.tangosol.util.Filter<?> filter, com.tangosol.util.function.Remote.ToIntFunction<? super T> extractor)
      Return the average of the specified function.
      double average​(com.tangosol.util.Filter<?> filter, com.tangosol.util.function.Remote.ToLongFunction<? super T> extractor)
      Return the average of the specified function.
      BigDecimal average​(com.tangosol.util.function.Remote.ToBigDecimalFunction<? super T> extractor)
      Return the average of the specified function.
      double average​(com.tangosol.util.function.Remote.ToDoubleFunction<? super T> extractor)
      Return the average of the specified function.
      double average​(com.tangosol.util.function.Remote.ToIntFunction<? super T> extractor)
      Return the average of the specified function.
      double average​(com.tangosol.util.function.Remote.ToLongFunction<? super T> extractor)
      Return the average of the specified function.
      long count()  
      long count​(com.tangosol.util.Filter<?> filter)
      Return the number of entities in this repository that satisfy specified filter.
      void delete​(T entity)  
      T delete​(T entity, boolean fReturn)
      Delete specified entity.
      void deleteAll()  
      boolean deleteAll​(com.tangosol.util.Filter<?> filter)
      Delete all entities based on the specified criteria.
      Map<ID,​T> deleteAll​(com.tangosol.util.Filter<?> filter, boolean fReturn)
      Remove all entities based on the specified criteria.
      void deleteAll​(Iterable<? extends T> entities)  
      boolean deleteAll​(Collection<? extends T> colEntities)
      Delete specified entities.
      Map<ID,​T> deleteAll​(Collection<? extends T> colEntities, boolean fReturn)
      Delete specified entities.
      boolean deleteAll​(Stream<? extends T> strEntities)
      Delete specified entities.
      Map<ID,​T> deleteAll​(Stream<? extends T> strEntities, boolean fReturn)
      Delete specified entities.
      void deleteAllById​(Iterable<? extends ID> ids)  
      boolean deleteAllById​(Collection<? extends ID> colIds)
      Delete entities with the specified identifiers.
      Map<ID,​T> deleteAllById​(Collection<? extends ID> colIds, boolean fReturn)
      Delete entities with the specified identifiers.
      void deleteById​(ID id)  
      <R> Collection<? extends R> distinct​(com.tangosol.util.Filter<?> filter, com.tangosol.util.ValueExtractor<? super T,​? extends R> extractor)
      Return the set of distinct values for the specified extractor.
      <R> Collection<? extends R> distinct​(com.tangosol.util.ValueExtractor<? super T,​? extends R> extractor)
      Return the set of distinct values for the specified extractor.
      boolean existsById​(ID id)  
      Iterable<T> findAll()  
      org.springframework.data.domain.Page<T> findAll​(org.springframework.data.domain.Pageable pageable)  
      Iterable<T> findAll​(org.springframework.data.domain.Sort sort)  
      Iterable<T> findAllById​(Iterable<ID> ids)  
      Optional<T> findById​(ID id)  
      <R> R get​(ID id, com.tangosol.util.ValueExtractor<? super T,​? extends R> extractor)
      Return the value extracted from an entity with a given identifier.
      Collection<T> getAll​(com.tangosol.util.Filter<?> filter)
      Return all entities that satisfy the specified criteria.
      <R> Map<ID,​R> getAll​(com.tangosol.util.Filter<?> filter, com.tangosol.util.ValueExtractor<? super T,​? extends R> extractor)
      Return a map of values extracted from a set of entities based on the specified criteria.
      <R> Map<ID,​R> getAll​(com.tangosol.util.ValueExtractor<? super T,​? extends R> extractor)
      Return a map of values extracted from all entities in the repository.
      <R> Map<ID,​R> getAll​(Collection<? extends ID> colIds, com.tangosol.util.ValueExtractor<? super T,​? extends R> extractor)
      Return a map of values extracted from a set of entities with the given identifiers.
      Collection<T> getAllOrderedBy​(com.tangosol.util.Filter<?> filter, com.tangosol.util.function.Remote.Comparator<? super T> orderBy)
      Return all entities that satisfy the specified criteria, sorted using specified Remote.Comparator.
      <R extends Comparable<? super R>>
      Collection<T>
      getAllOrderedBy​(com.tangosol.util.Filter<?> filter, com.tangosol.util.ValueExtractor<? super T,​? extends R> orderBy)
      Return all entities that satisfy the specified criteria, sorted using specified Comparable attribute.
      Collection<T> getAllOrderedBy​(com.tangosol.util.function.Remote.Comparator<? super T> orderBy)
      Return all entities in this repository, sorted using specified Remote.Comparator.
      <R extends Comparable<? super R>>
      Collection<T>
      getAllOrderedBy​(com.tangosol.util.ValueExtractor<? super T,​? extends R> orderBy)
      Return all entities in this repository, sorted using specified Comparable attribute.
      com.tangosol.net.NamedMap<ID,​T> getMap()
      Return the underlying NamedMap that backs this Repository.
      <K> Map<K,​Set<T>> groupBy​(com.tangosol.util.Filter<?> filter, com.tangosol.util.ValueExtractor<? super T,​? extends K> extractor)
      Return the grouping of entities by the specified extractor.
      <K> Map<K,​SortedSet<T>> groupBy​(com.tangosol.util.Filter<?> filter, com.tangosol.util.ValueExtractor<? super T,​? extends K> extractor, com.tangosol.util.function.Remote.Comparator<? super T> orderBy)
      Return the grouping of entities by the specified extractor, ordered by the specified attribute within each group.
      <K,​A,​R,​M extends Map<K,​R>>
      M
      groupBy​(com.tangosol.util.Filter<?> filter, com.tangosol.util.ValueExtractor<? super T,​? extends K> extractor, com.tangosol.util.function.Remote.Supplier<M> mapFactory, com.tangosol.util.stream.RemoteCollector<? super T,​A,​R> collector)
      Return the grouping of entities by the specified extractor.
      <K,​A,​R>
      Map<K,​R>
      groupBy​(com.tangosol.util.Filter<?> filter, com.tangosol.util.ValueExtractor<? super T,​? extends K> extractor, com.tangosol.util.stream.RemoteCollector<? super T,​A,​R> collector)
      Return the grouping of entities by the specified extractor.
      <K> Map<K,​Set<T>> groupBy​(com.tangosol.util.ValueExtractor<? super T,​? extends K> extractor)
      Return the grouping of entities by the specified extractor.
      <K> Map<K,​SortedSet<T>> groupBy​(com.tangosol.util.ValueExtractor<? super T,​? extends K> extractor, com.tangosol.util.function.Remote.Comparator<? super T> orderBy)
      Return the grouping of entities by the specified extractor, ordered by the specified attribute within each group.
      <K,​A,​R,​M extends Map<K,​R>>
      M
      groupBy​(com.tangosol.util.ValueExtractor<? super T,​? extends K> extractor, com.tangosol.util.function.Remote.Supplier<M> mapFactory, com.tangosol.util.stream.RemoteCollector<? super T,​A,​R> collector)
      Return the grouping of entities by the specified extractor.
      <K,​A,​R>
      Map<K,​R>
      groupBy​(com.tangosol.util.ValueExtractor<? super T,​? extends K> extractor, com.tangosol.util.stream.RemoteCollector<? super T,​A,​R> collector)
      Return the grouping of entities by the specified extractor.
      com.oracle.coherence.repository.AbstractRepositoryBase.Listener.Builder<T> listener()
      Create new AbstractRepositoryBase.Listener.Builder instance.
      BigDecimal max​(com.tangosol.util.Filter<?> filter, com.tangosol.util.function.Remote.ToBigDecimalFunction<? super T> extractor)
      Return the maximum value of the specified function.
      <R extends Comparable<? super R>>
      R
      max​(com.tangosol.util.Filter<?> filter, com.tangosol.util.function.Remote.ToComparableFunction<? super T,​R> extractor)
      Return the maximum value of the specified function.
      double max​(com.tangosol.util.Filter<?> filter, com.tangosol.util.function.Remote.ToDoubleFunction<? super T> extractor)
      Return the maximum value of the specified function.
      int max​(com.tangosol.util.Filter<?> filter, com.tangosol.util.function.Remote.ToIntFunction<? super T> extractor)
      Return the maximum value of the specified function.
      long max​(com.tangosol.util.Filter<?> filter, com.tangosol.util.function.Remote.ToLongFunction<? super T> extractor)
      Return the maximum value of the specified function.
      BigDecimal max​(com.tangosol.util.function.Remote.ToBigDecimalFunction<? super T> extractor)
      Return the maximum value of the specified function.
      <R extends Comparable<? super R>>
      R
      max​(com.tangosol.util.function.Remote.ToComparableFunction<? super T,​R> extractor)
      Return the maximum value of the specified function.
      double max​(com.tangosol.util.function.Remote.ToDoubleFunction<? super T> extractor)
      Return the maximum value of the specified function.
      int max​(com.tangosol.util.function.Remote.ToIntFunction<? super T> extractor)
      Return the maximum value of the specified function.
      long max​(com.tangosol.util.function.Remote.ToLongFunction<? super T> extractor)
      Return the maximum value of the specified function.
      <R extends Comparable<? super R>>
      Optional<T>
      maxBy​(com.tangosol.util.Filter<?> filter, com.tangosol.util.ValueExtractor<? super T,​? extends R> extractor)
      Return the entity with the maximum value of the specified function.
      <R extends Comparable<? super R>>
      Optional<T>
      maxBy​(com.tangosol.util.ValueExtractor<? super T,​? extends R> extractor)
      Return the entity with the maximum value of the specified function.
      BigDecimal min​(com.tangosol.util.Filter<?> filter, com.tangosol.util.function.Remote.ToBigDecimalFunction<? super T> extractor)
      Return the minimum value of the specified function.
      <R extends Comparable<? super R>>
      R
      min​(com.tangosol.util.Filter<?> filter, com.tangosol.util.function.Remote.ToComparableFunction<? super T,​R> extractor)
      Return the minimum value of the specified function.
      double min​(com.tangosol.util.Filter<?> filter, com.tangosol.util.function.Remote.ToDoubleFunction<? super T> extractor)
      Return the minimum value of the specified function.
      int min​(com.tangosol.util.Filter<?> filter, com.tangosol.util.function.Remote.ToIntFunction<? super T> extractor)
      Return the minimum value of the specified function.
      long min​(com.tangosol.util.Filter<?> filter, com.tangosol.util.function.Remote.ToLongFunction<? super T> extractor)
      Return the minimum value of the specified function.
      BigDecimal min​(com.tangosol.util.function.Remote.ToBigDecimalFunction<? super T> extractor)
      Return the minimum value of the specified function.
      <R extends Comparable<? super R>>
      R
      min​(com.tangosol.util.function.Remote.ToComparableFunction<? super T,​R> extractor)
      Return the minimum value of the specified function.
      double min​(com.tangosol.util.function.Remote.ToDoubleFunction<? super T> extractor)
      Return the minimum value of the specified function.
      int min​(com.tangosol.util.function.Remote.ToIntFunction<? super T> extractor)
      Return the minimum value of the specified function.
      long min​(com.tangosol.util.function.Remote.ToLongFunction<? super T> extractor)
      Return the minimum value of the specified function.
      <R extends Comparable<? super R>>
      Optional<T>
      minBy​(com.tangosol.util.Filter<?> filter, com.tangosol.util.ValueExtractor<? super T,​? extends R> extractor)
      Return the entity with the minimum value of the specified function.
      <R extends Comparable<? super R>>
      Optional<T>
      minBy​(com.tangosol.util.ValueExtractor<? super T,​? extends R> extractor)
      Return the entity with the minimum value of the specified function.
      void removeListener​(com.oracle.coherence.repository.AbstractRepositoryBase.Listener<? super T> listener)
      Unregister a listener that observes all repository events.
      void removeListener​(com.tangosol.util.Filter<?> filter, com.oracle.coherence.repository.AbstractRepositoryBase.Listener<? super T> listener)
      Unregister a listener that observes all events for entities that satisfy the specified criteria.
      void removeListener​(ID id, com.oracle.coherence.repository.AbstractRepositoryBase.Listener<? super T> listener)
      Unregister a listener that observes all events for a specific entity.
      <S extends T>
      S
      save​(S entity)  
      <S extends T>
      Iterable<S>
      saveAll​(Iterable<S> entities)  
      void saveAll​(Stream<? extends T> strEntities)
      Store all specified entities as a batch.
      com.tangosol.util.stream.RemoteStream<T> stream()
      Return a stream of all entities in this repository.
      com.tangosol.util.stream.RemoteStream<T> stream​(com.tangosol.util.Filter<?> filter)
      Return a stream of all entities in this repository that satisfy the specified criteria.
      com.tangosol.util.stream.RemoteStream<T> stream​(Collection<? extends ID> colIds)
      Return a stream of entities with the specified identifiers.
      BigDecimal sum​(com.tangosol.util.Filter<?> filter, com.tangosol.util.function.Remote.ToBigDecimalFunction<? super T> extractor)
      Return the sum of the specified function.
      double sum​(com.tangosol.util.Filter<?> filter, com.tangosol.util.function.Remote.ToDoubleFunction<? super T> extractor)
      Return the sum of the specified function.
      long sum​(com.tangosol.util.Filter<?> filter, com.tangosol.util.function.Remote.ToIntFunction<? super T> extractor)
      Return the sum of the specified function.
      long sum​(com.tangosol.util.Filter<?> filter, com.tangosol.util.function.Remote.ToLongFunction<? super T> extractor)
      Return the sum of the specified function.
      BigDecimal sum​(com.tangosol.util.function.Remote.ToBigDecimalFunction<? super T> extractor)
      Return the sum of the specified function.
      double sum​(com.tangosol.util.function.Remote.ToDoubleFunction<? super T> extractor)
      Return the sum of the specified function.
      long sum​(com.tangosol.util.function.Remote.ToIntFunction<? super T> extractor)
      Return the sum of the specified function.
      long sum​(com.tangosol.util.function.Remote.ToLongFunction<? super T> extractor)
      Return the sum of the specified function.
      <R extends Comparable<? super R>>
      List<R>
      top​(com.tangosol.util.Filter<?> filter, com.tangosol.util.ValueExtractor<? super T,​? extends R> extractor, int cResults)
      Return the top N highest values for the specified extractor.
      <R> List<R> top​(com.tangosol.util.Filter<?> filter, com.tangosol.util.ValueExtractor<? super T,​? extends R> extractor, com.tangosol.util.function.Remote.Comparator<? super R> comparator, int cResults)
      Return the top N highest values for the specified extractor.
      <R extends Comparable<? super R>>
      List<R>
      top​(com.tangosol.util.ValueExtractor<? super T,​? extends R> extractor, int cResults)
      Return the top N highest values for the specified extractor.
      <R> List<R> top​(com.tangosol.util.ValueExtractor<? super T,​? extends R> extractor, com.tangosol.util.function.Remote.Comparator<? super R> comparator, int cResults)
      Return the top N highest values for the specified extractor.
      List<T> topBy​(com.tangosol.util.Filter<?> filter, com.tangosol.util.function.Remote.Comparator<? super T> comparator, int cResults)
      Return the top N entities with the highest values for the specified extractor.
      <R extends Comparable<? super R>>
      List<T>
      topBy​(com.tangosol.util.Filter<?> filter, com.tangosol.util.ValueExtractor<? super T,​? extends R> extractor, int cResults)
      Return the top N entities with the highest values for the specified extractor.
      List<T> topBy​(com.tangosol.util.function.Remote.Comparator<? super T> comparator, int cResults)
      Return the top N entities with the highest values for the specified extractor.
      <R extends Comparable<? super R>>
      List<T>
      topBy​(com.tangosol.util.ValueExtractor<? super T,​? extends R> extractor, int cResults)
      Return the top N entities with the highest values for the specified extractor.
      <U,​R>
      R
      update​(ID id, com.tangosol.util.function.Remote.BiFunction<? super T,​? super U,​? extends R> updater, U value)
      Update an entity using specified updater and the new value.
      <U,​R>
      R
      update​(ID id, com.tangosol.util.function.Remote.BiFunction<? super T,​? super U,​? extends R> updater, U value, com.oracle.coherence.repository.EntityFactory<? super ID,​? extends T> factory)
      Update an entity using specified updater function, and optional EntityFactory that will be used to create entity instance if it doesn't already exist in the repository.
      <R> R update​(ID id, com.tangosol.util.function.Remote.Function<? super T,​? extends R> updater)
      Update an entity using specified updater function.
      <R> R update​(ID id, com.tangosol.util.function.Remote.Function<? super T,​? extends R> updater, com.oracle.coherence.repository.EntityFactory<? super ID,​? extends T> factory)
      Update an entity using specified updater function, and optional EntityFactory that will be used to create entity instance if it doesn't already exist in the repository.
      <U> void update​(ID id, com.tangosol.util.ValueUpdater<? super T,​? super U> updater, U value)
      Update an entity using specified updater and the new value.
      <U> void update​(ID id, com.tangosol.util.ValueUpdater<? super T,​? super U> updater, U value, com.oracle.coherence.repository.EntityFactory<? super ID,​? extends T> factory)
      Update an entity using specified updater and the new value, and optional EntityFactory that will be used to create entity instance if it doesn't already exist in the repository.
      <U,​R>
      Map<ID,​R>
      updateAll​(com.tangosol.util.Filter<?> filter, com.tangosol.util.function.Remote.BiFunction<? super T,​? super U,​? extends R> updater, U value)
      Update multiple entities using specified updater and the new value.
      <R> Map<ID,​R> updateAll​(com.tangosol.util.Filter<?> filter, com.tangosol.util.function.Remote.Function<? super T,​? extends R> updater)
      Update multiple entities using specified updater function.
      <U> void updateAll​(com.tangosol.util.Filter<?> filter, com.tangosol.util.ValueUpdater<? super T,​? super U> updater, U value)
      Update multiple entities using specified updater and the new value.
    • Method Detail

      • getMap

        com.tangosol.net.NamedMap<ID,​T> getMap()
        Return the underlying NamedMap that backs this Repository.
        Returns:
        the underlying NamedMap that backs this Repository
      • count

        long count()
        Specified by:
        count in interface org.springframework.data.repository.CrudRepository<T,​ID>
      • count

        long count​(com.tangosol.util.Filter<?> filter)
        Return the number of entities in this repository that satisfy specified filter.
        Parameters:
        filter - the filter to evaluate
        Returns:
        the number of entities in this repository that satisfy specified filter
      • delete

        void delete​(T entity)
        Specified by:
        delete in interface org.springframework.data.repository.CrudRepository<T,​ID>
      • delete

        T delete​(T entity,
                 boolean fReturn)
        Delete specified entity.
        Parameters:
        entity - the entity to remove
        fReturn - the flag specifying whether to return removed entity
        Returns:
        removed entity, iff fReturn == true; null otherwise
      • deleteAll

        void deleteAll()
        Specified by:
        deleteAll in interface org.springframework.data.repository.CrudRepository<T,​ID>
      • deleteAll

        boolean deleteAll​(Collection<? extends T> colEntities)
        Delete specified entities.
        Parameters:
        colEntities - the entities to remove
        Returns:
        true if this repository changed as a result of the call
      • deleteAll

        Map<ID,​T> deleteAll​(Collection<? extends T> colEntities,
                                  boolean fReturn)
        Delete specified entities.
        Parameters:
        colEntities - the entities to remove
        fReturn - the flag specifying whether to return removed entity
        Returns:
        the map of removed entity identifiers as keys, and the removed entities as values iff fReturn == true; null otherwise
      • deleteAll

        void deleteAll​(Iterable<? extends T> entities)
        Specified by:
        deleteAll in interface org.springframework.data.repository.CrudRepository<T,​ID>
      • deleteAll

        boolean deleteAll​(com.tangosol.util.Filter<?> filter)
        Delete all entities based on the specified criteria.
        Parameters:
        filter - the criteria that should be used to select entities to remove
        Returns:
        true if this repository changed as a result of the call
      • deleteAll

        Map<ID,​T> deleteAll​(com.tangosol.util.Filter<?> filter,
                                  boolean fReturn)
        Remove all entities based on the specified criteria.
        Parameters:
        filter - the criteria that should be used to select entities to remove
        fReturn - the flag specifying whether to return removed entity
        Returns:
        the map of removed entity identifiers as keys, and the removed entities as values iff fReturn == true; null otherwise
      • deleteAll

        boolean deleteAll​(Stream<? extends T> strEntities)
        Delete specified entities.
        Parameters:
        strEntities - the entities to remove
        Returns:
        true if this repository changed as a result of the call
      • deleteAll

        Map<ID,​T> deleteAll​(Stream<? extends T> strEntities,
                                  boolean fReturn)
        Delete specified entities.
        Parameters:
        strEntities - the entities to remove
        fReturn - the flag specifying whether to return removed entity
        Returns:
        the map of removed entity identifiers as keys, and the removed entities as values iff fReturn == true; null otherwise
      • deleteAllById

        void deleteAllById​(Iterable<? extends ID> ids)
        Specified by:
        deleteAllById in interface org.springframework.data.repository.CrudRepository<T,​ID>
      • deleteAllById

        boolean deleteAllById​(Collection<? extends ID> colIds)
        Delete entities with the specified identifiers.
        Parameters:
        colIds - the identifiers of the entities to remove
        Returns:
        true if this repository changed as a result of the call
      • deleteAllById

        Map<ID,​T> deleteAllById​(Collection<? extends ID> colIds,
                                      boolean fReturn)
        Delete entities with the specified identifiers.
        Parameters:
        colIds - the identifiers of the entities to remove
        fReturn - the flag specifying whether to return removed entity
        Returns:
        the map of removed entity identifiers as keys, and the removed entities as values iff fReturn == true; null otherwise
      • deleteById

        void deleteById​(ID id)
        Specified by:
        deleteById in interface org.springframework.data.repository.CrudRepository<T,​ID>
      • existsById

        boolean existsById​(ID id)
        Specified by:
        existsById in interface org.springframework.data.repository.CrudRepository<T,​ID>
      • findAll

        Iterable<T> findAll()
        Specified by:
        findAll in interface org.springframework.data.repository.CrudRepository<T,​ID>
      • findAll

        Iterable<T> findAll​(org.springframework.data.domain.Sort sort)
        Specified by:
        findAll in interface org.springframework.data.repository.PagingAndSortingRepository<T,​ID>
      • findAll

        org.springframework.data.domain.Page<T> findAll​(org.springframework.data.domain.Pageable pageable)
        Specified by:
        findAll in interface org.springframework.data.repository.PagingAndSortingRepository<T,​ID>
      • findAllById

        Iterable<T> findAllById​(Iterable<ID> ids)
        Specified by:
        findAllById in interface org.springframework.data.repository.CrudRepository<T,​ID>
      • findById

        Optional<T> findById​(ID id)
        Specified by:
        findById in interface org.springframework.data.repository.CrudRepository<T,​ID>
      • get

        <R> R get​(ID id,
                  com.tangosol.util.ValueExtractor<? super T,​? extends R> extractor)
        Return the value extracted from an entity with a given identifier.

        For example, you could extract Person's name attribute by calling a getter on a remote Person entity instance:

             people.get(ssn, Person::getName);
         

        You could also extract a Fragment containing the Person's name and age attributes by calling corresponding getters on the remote Person entity instance:

             Fragment<Person> person = people.get(ssn, Extractors.fragment(Person::getName, Person::getAge));
             System.out.println("name: " + person.get(Person::getName));
             System.out.println(" age: " + person.get(Person::getAge));
         

        Finally, you can also extract nested fragments:

             Fragment<Person> person = people.get(ssn,
                   Extractors.fragment(Person::getName, Person::getAge,
                                       Extractors.fragment(Person::getAddress, Address::getCity, Address::getState));
             System.out.println(" name: " + person.get(Person::getName));
             System.out.println("  age: " + person.get(Person::getAge));
        
             Fragment<Address> address = person.getFragment(Person::getAddress);
             System.out.println(" city: " + address.get(Address::getCity));
             System.out.println("state: " + address.get(Address::getState));
         
        Note that the actual extraction (via the invocation of the specified getter method) will happen on the primary owner for the specified entity, and only the extracted value will be sent over the network to the client, which can significantly reduce the amount of data transferred.
        Type Parameters:
        R - the type of the extracted value
        Parameters:
        id - the entity's identifier
        extractor - the ValueExtractor to extract value with
        Returns:
        the extracted value
      • getAll

        <R> Map<ID,​R> getAll​(Collection<? extends ID> colIds,
                                   com.tangosol.util.ValueExtractor<? super T,​? extends R> extractor)
        Return a map of values extracted from a set of entities with the given identifiers.
        Type Parameters:
        R - the type of the extracted values
        Parameters:
        colIds - the entity identifiers
        extractor - the ValueExtractor to extract values with
        Returns:
        the map of extracted values, keyed by entity id
        See Also:
        get(Object, ValueExtractor)
      • getAll

        Collection<T> getAll​(com.tangosol.util.Filter<?> filter)
        Return all entities that satisfy the specified criteria.
        Parameters:
        filter - the criteria to evaluate
        Returns:
        all entities that satisfy the specified criteria
      • getAll

        <R> Map<ID,​R> getAll​(com.tangosol.util.Filter<?> filter,
                                   com.tangosol.util.ValueExtractor<? super T,​? extends R> extractor)
        Return a map of values extracted from a set of entities based on the specified criteria.
        Type Parameters:
        R - the type of the extracted values
        Parameters:
        filter - the criteria to use to select entities for extraction
        extractor - the ValueExtractor to extract values with
        Returns:
        the map of extracted values, keyed by entity id
        See Also:
        get(Object, ValueExtractor)
      • getAll

        <R> Map<ID,​R> getAll​(com.tangosol.util.ValueExtractor<? super T,​? extends R> extractor)
        Return a map of values extracted from all entities in the repository.
        Type Parameters:
        R - the type of the extracted values
        Parameters:
        extractor - the ValueExtractor to extract values with
        Returns:
        the map of extracted values, keyed by entity id
        See Also:
        get(Object, ValueExtractor)
      • getAllOrderedBy

        Collection<T> getAllOrderedBy​(com.tangosol.util.Filter<?> filter,
                                      com.tangosol.util.function.Remote.Comparator<? super T> orderBy)
        Return all entities that satisfy the specified criteria, sorted using specified Remote.Comparator.
        Parameters:
        filter - the criteria to evaluate
        orderBy - the comparator to sort the results with
        Returns:
        all entities that satisfy specified criteria, sorted using specified Remote.Comparator.
      • getAllOrderedBy

        <R extends Comparable<? super R>> Collection<T> getAllOrderedBy​(com.tangosol.util.Filter<?> filter,
                                                                        com.tangosol.util.ValueExtractor<? super T,​? extends R> orderBy)
        Return all entities that satisfy the specified criteria, sorted using specified Comparable attribute.
        Type Parameters:
        R - the type of the extracted values
        Parameters:
        filter - the criteria to evaluate
        orderBy - the Comparable attribute to sort the results by
        Returns:
        all entities that satisfy specified criteria, sorted using specified Comparable attribute.
      • getAllOrderedBy

        Collection<T> getAllOrderedBy​(com.tangosol.util.function.Remote.Comparator<? super T> orderBy)
        Return all entities in this repository, sorted using specified Remote.Comparator.
        Parameters:
        orderBy - the comparator to sort the results with
        Returns:
        all entities in this repository, sorted using specified Remote.Comparator.
      • getAllOrderedBy

        <R extends Comparable<? super R>> Collection<T> getAllOrderedBy​(com.tangosol.util.ValueExtractor<? super T,​? extends R> orderBy)
        Return all entities in this repository, sorted using specified Comparable attribute.
        Type Parameters:
        R - the type of the extracted values
        Parameters:
        orderBy - the Comparable attribute to sort the results by
        Returns:
        all entities in this repository, sorted using specified Comparable attribute.
      • save

        <S extends T> S save​(S entity)
        Specified by:
        save in interface org.springframework.data.repository.CrudRepository<T,​ID>
      • saveAll

        <S extends TIterable<S> saveAll​(Iterable<S> entities)
        Specified by:
        saveAll in interface org.springframework.data.repository.CrudRepository<T,​ID>
      • saveAll

        void saveAll​(Stream<? extends T> strEntities)
        Store all specified entities as a batch.
        Parameters:
        strEntities - the entities to store
      • update

        <U> void update​(ID id,
                        com.tangosol.util.ValueUpdater<? super T,​? super U> updater,
                        U value)
        Update an entity using specified updater and the new value.

        For example, you could update Person's age attribute by calling a setter on a remote Person entity instance:

             people.update(ssn, Person::setAge, 21);
         
        Note that the actual update (via the invocation of the specified setter method) will happen on the primary owner for the specified entity, and the updater will have exclusive access to an entity during the execution.
        Type Parameters:
        U - the type of value to update
        Parameters:
        id - the entity's identifier
        updater - the updater function to use
        value - the value to update entity with, which will be passed as an argument to the updater function
      • update

        <U> void update​(ID id,
                        com.tangosol.util.ValueUpdater<? super T,​? super U> updater,
                        U value,
                        com.oracle.coherence.repository.EntityFactory<? super ID,​? extends T> factory)
        Update an entity using specified updater and the new value, and optional EntityFactory that will be used to create entity instance if it doesn't already exist in the repository.

        For example, you could update Person's age attribute by calling a setter on a remote Person entity instance:

             people.update(ssn, Person::setAge, 21, Person::new);
         
        If the person with the specified identifier does not exist, the EntityFactory will be used to create a new instance. In the example above, it will invoke a constructor on the Person class that takes identifier as an argument.

        Note that the actual update (via the invocation of the specified setter method) will happen on the primary owner for the specified entity, and the updater will have exclusive access to an entity during the execution.

        Type Parameters:
        U - the type of value to update
        Parameters:
        id - the entity's identifier
        updater - the updater function to use
        value - the value to update entity with, which will be passed as an argument to the updater function
        factory - the entity factory to use to create new entity instance
      • update

        <R> R update​(ID id,
                     com.tangosol.util.function.Remote.Function<? super T,​? extends R> updater)
        Update an entity using specified updater function.

        For example, you could increment Person's age attribute and return the updated Person entity:

            people.update(ssn, person ->
                {
                person.setAge(person.getAge() + 1);
                return person;
                });
         
        This variant of the update method offers ultimate flexibility, as it allows you to return any value you want as the result of the invocation, at the cost of typically slightly more complex logic at the call site.

        Note that the actual update (via the evaluation of the specified function) will happen on the primary owner for the specified entity, and the updater will have exclusive access to an entity during the execution.

        Type Parameters:
        R - the type of return value of the updater function
        Parameters:
        id - the entity's identifier
        updater - the updater function to use
        Returns:
        the result of updater function evaluation
      • update

        <R> R update​(ID id,
                     com.tangosol.util.function.Remote.Function<? super T,​? extends R> updater,
                     com.oracle.coherence.repository.EntityFactory<? super ID,​? extends T> factory)
        Update an entity using specified updater function, and optional EntityFactory that will be used to create entity instance if it doesn't already exist in the repository.

        For example, you could increment Person's age attribute and return the updated Person entity:

            people.update(ssn, person ->
                {
                person.setAge(person.getAge() + 1);
                return person;
                }, Person::new);
         
        If the person with the specified identifier does not exist, the EntityFactory will be used to create a new instance. In the example above, it will invoke a constructor on the Person class that takes identifier as an argument.

        This variant of the update method offers ultimate flexibility, as it allows you to return any value you want as the result of the invocation, at the cost of typically slightly more complex logic at the call site.

        Note that the actual update (via the evaluation of the specified function) will happen on the primary owner for the specified entity, and the updater will have exclusive access to an entity during the execution.

        Type Parameters:
        R - the type of return value of the updater function
        Parameters:
        id - the entity's identifier
        updater - the updater function to use
        factory - the entity factory to use to create new entity instance
        Returns:
        the result of updater function evaluation
      • update

        <U,​R> R update​(ID id,
                             com.tangosol.util.function.Remote.BiFunction<? super T,​? super U,​? extends R> updater,
                             U value)
        Update an entity using specified updater and the new value.

        Unlike update(Object, ValueUpdater, Object), which doesn't return anything, this method is typically used to invoke "fluent" methods on the target entity that return entity itself (although they are free to return any value they want).

        For example, you could use it to add an item to the ShoppingCart entity and return the updated ShoppingCart instance in a single call:

             Item item = ...
             ShoppingCart cart = carts.update(cartId, ShoppingCart::addItem, item);
         
        Note that the actual update (via the invocation of the specified setter method) will happen on the primary owner for the specified entity, and the updater will have exclusive access to an entity during the execution.
        Type Parameters:
        U - the type of value to update
        R - the type of return value of the updater function
        Parameters:
        id - the entity's identifier
        updater - the updater function to use
        value - the value to update entity with, which will be passed as an argument to the updater function
        Returns:
        the result of updater function evaluation
      • update

        <U,​R> R update​(ID id,
                             com.tangosol.util.function.Remote.BiFunction<? super T,​? super U,​? extends R> updater,
                             U value,
                             com.oracle.coherence.repository.EntityFactory<? super ID,​? extends T> factory)
        Update an entity using specified updater function, and optional EntityFactory that will be used to create entity instance if it doesn't already exist in the repository.

        Unlike update(Object, ValueUpdater, Object), which doesn't return anything, this method is typically used to invoke "fluent" methods on the target entity that return entity itself (although they are free to return any value they want).

        For example, you could use it to add an item to the ShoppingCart entity and return the updated ShoppingCart instance in a single call:

             Item item = ...
             ShoppingCart cart = carts.update(cartId, ShoppingCart::addItem, item, ShoppingCart::new);
         
        If the cart with the specified identifier does not exist, the specified EntityFactory will be used to create a new instance. In the example above, it will invoke a constructor on the ShoppingCart class that takes identifier as an argument.

        Note that the actual update (via the evaluation of the specified function) will happen on the primary owner for the specified entity, and the updater will have exclusive access to an entity during the execution.

        Type Parameters:
        U - the type of value to update
        R - the type of return value of the updater function
        Parameters:
        id - the entity's identifier
        updater - the updater function to use
        value - the value to update entity with, which will be passed as an argument to the updater function
        factory - the entity factory to use to create new entity instance
        Returns:
        the result of updater function evaluation
      • updateAll

        <U> void updateAll​(com.tangosol.util.Filter<?> filter,
                           com.tangosol.util.ValueUpdater<? super T,​? super U> updater,
                           U value)
        Update multiple entities using specified updater and the new value.
        Type Parameters:
        U - the type of value to update
        Parameters:
        filter - the criteria to use to select entities to update
        updater - the updater function to use
        value - the value to update each entity with, which will be passed as an argument to the updater function
      • updateAll

        <R> Map<ID,​R> updateAll​(com.tangosol.util.Filter<?> filter,
                                      com.tangosol.util.function.Remote.Function<? super T,​? extends R> updater)
        Update multiple entities using specified updater function.
        Type Parameters:
        R - the type of return value of the updater function
        Parameters:
        filter - the criteria to use to select entities to update
        updater - the updater function to use
        Returns:
        a map of updater function results, keyed by entity id
      • updateAll

        <U,​R> Map<ID,​R> updateAll​(com.tangosol.util.Filter<?> filter,
                                              com.tangosol.util.function.Remote.BiFunction<? super T,​? super U,​? extends R> updater,
                                              U value)
        Update multiple entities using specified updater and the new value.
        Type Parameters:
        U - the type of value to update
        R - the type of return value of the updater function
        Parameters:
        filter - the criteria to use to select entities to update
        updater - the updater function to use
        value - the value to update each entity with, which will be passed as an argument to the updater function
        Returns:
        a map of updater function results, keyed by entity id
      • stream

        com.tangosol.util.stream.RemoteStream<T> stream()
        Return a stream of all entities in this repository.
        Returns:
        a stream of all entities in this repository
      • stream

        com.tangosol.util.stream.RemoteStream<T> stream​(Collection<? extends ID> colIds)
        Return a stream of entities with the specified identifiers.
        Parameters:
        colIds - the identifiers of the entities to include in the returned stream
        Returns:
        a stream of entities for the specified identifiers
      • stream

        com.tangosol.util.stream.RemoteStream<T> stream​(com.tangosol.util.Filter<?> filter)
        Return a stream of all entities in this repository that satisfy the specified criteria.
        Parameters:
        filter - the criteria an entity must satisfy in order to be included in the returned stream
        Returns:
        a stream of entities that satisfy the specified criteria
      • average

        double average​(com.tangosol.util.function.Remote.ToIntFunction<? super T> extractor)
        Return the average of the specified function.
        Parameters:
        extractor - the function to average; typically a method reference on the entity class, such as Person::getAge
        Returns:
        the average of the specified function
      • average

        double average​(com.tangosol.util.Filter<?> filter,
                       com.tangosol.util.function.Remote.ToIntFunction<? super T> extractor)
        Return the average of the specified function.
        Parameters:
        filter - the entity selection criteria
        extractor - the function to average; typically a method reference on the entity class, such as Person::getAge
        Returns:
        the average of the specified function
      • average

        double average​(com.tangosol.util.function.Remote.ToLongFunction<? super T> extractor)
        Return the average of the specified function.
        Parameters:
        extractor - the function to average; typically a method reference on the entity class, such as Person::getAge
        Returns:
        the average of the specified function
      • average

        double average​(com.tangosol.util.Filter<?> filter,
                       com.tangosol.util.function.Remote.ToLongFunction<? super T> extractor)
        Return the average of the specified function.
        Parameters:
        filter - the entity selection criteria
        extractor - the function to average; typically a method reference on the entity class, such as Person::getAge
        Returns:
        the average of the specified function
      • average

        double average​(com.tangosol.util.function.Remote.ToDoubleFunction<? super T> extractor)
        Return the average of the specified function.
        Parameters:
        extractor - the function to average; typically a method reference on the entity class, such as Person::getWeight
        Returns:
        the average of the specified function
      • average

        double average​(com.tangosol.util.Filter<?> filter,
                       com.tangosol.util.function.Remote.ToDoubleFunction<? super T> extractor)
        Return the average of the specified function.
        Parameters:
        filter - the entity selection criteria
        extractor - the function to average; typically a method reference on the entity class, such as Person::getWeight
        Returns:
        the average of the specified function
      • average

        BigDecimal average​(com.tangosol.util.function.Remote.ToBigDecimalFunction<? super T> extractor)
        Return the average of the specified function.
        Parameters:
        extractor - the function to average; typically a method reference on the entity class, such as Person::getSalary
        Returns:
        the average of the specified function
      • average

        BigDecimal average​(com.tangosol.util.Filter<?> filter,
                           com.tangosol.util.function.Remote.ToBigDecimalFunction<? super T> extractor)
        Return the average of the specified function.
        Parameters:
        filter - the entity selection criteria
        extractor - the function to average; typically a method reference on the entity class, such as Person::getSalary
        Returns:
        the average of the specified function
      • distinct

        <R> Collection<? extends R> distinct​(com.tangosol.util.ValueExtractor<? super T,​? extends R> extractor)
        Return the set of distinct values for the specified extractor.
        Type Parameters:
        R - the type of extracted values
        Parameters:
        extractor - the extractor to get a value from; typically a method reference on the entity class, such as Person::getName
        Returns:
        the set of distinct values for the specified extractor
      • distinct

        <R> Collection<? extends R> distinct​(com.tangosol.util.Filter<?> filter,
                                             com.tangosol.util.ValueExtractor<? super T,​? extends R> extractor)
        Return the set of distinct values for the specified extractor.
        Type Parameters:
        R - the type of extracted values
        Parameters:
        filter - the entity selection criteria
        extractor - the extractor to get a value from;
        Returns:
        the set of distinct values for the specified extractor
      • groupBy

        <K> Map<K,​Set<T>> groupBy​(com.tangosol.util.ValueExtractor<? super T,​? extends K> extractor)
        Return the grouping of entities by the specified extractor.
        Type Parameters:
        K - the type of extracted grouping keys
        Parameters:
        extractor - the extractor to get a grouping value from; typically a method reference on the entity class, such as Person::getGender
        Returns:
        the the grouping of entities by the specified extractor; the keys in the returned map will be distinct values extracted by the specified extractor, and the values will be sets of entities that match each extracted key
      • groupBy

        <K> Map<K,​SortedSet<T>> groupBy​(com.tangosol.util.ValueExtractor<? super T,​? extends K> extractor,
                                              com.tangosol.util.function.Remote.Comparator<? super T> orderBy)
        Return the grouping of entities by the specified extractor, ordered by the specified attribute within each group.
        Type Parameters:
        K - the type of extracted grouping keys
        Parameters:
        extractor - the extractor to get a grouping value from; typically a method reference on the entity class, such as Person::getGender
        orderBy - the Remote.Comparator to sort the results within each group by
        Returns:
        the the grouping of entities by the specified extractor; the keys in the returned map will be distinct values extracted by the specified extractor, and the values will be sorted sets of entities that match each extracted key
      • groupBy

        <K> Map<K,​Set<T>> groupBy​(com.tangosol.util.Filter<?> filter,
                                        com.tangosol.util.ValueExtractor<? super T,​? extends K> extractor)
        Return the grouping of entities by the specified extractor.
        Type Parameters:
        K - the type of extracted grouping keys
        Parameters:
        filter - the entity selection criteria
        extractor - the extractor to get a grouping value from; typically a method reference on the entity class, such as Person::getGender
        Returns:
        the the grouping of entities by the specified extractor; the keys in the returned map will be distinct values extracted by the specified extractor, and the values will be sets of entities that match each extracted key
      • groupBy

        <K> Map<K,​SortedSet<T>> groupBy​(com.tangosol.util.Filter<?> filter,
                                              com.tangosol.util.ValueExtractor<? super T,​? extends K> extractor,
                                              com.tangosol.util.function.Remote.Comparator<? super T> orderBy)
        Return the grouping of entities by the specified extractor, ordered by the specified attribute within each group.
        Type Parameters:
        K - the type of extracted grouping keys
        Parameters:
        filter - the entity selection criteria
        extractor - the extractor to get a grouping value from; typically a method reference on the entity class, such as Person::getGender
        orderBy - the Remote.Comparator to sort the results within each group by
        Returns:
        the the grouping of entities by the specified extractor; the keys in the returned map will be distinct values extracted by the specified extractor, and the values will be sorted sets of entities that match each extracted key
      • groupBy

        <K,​A,​R> Map<K,​R> groupBy​(com.tangosol.util.ValueExtractor<? super T,​? extends K> extractor,
                                                   com.tangosol.util.stream.RemoteCollector<? super T,​A,​R> collector)
        Return the grouping of entities by the specified extractor.
        Type Parameters:
        K - the type of extracted grouping keys
        A - the type of collector's accumulator
        R - the type of collector's result
        Parameters:
        extractor - the extractor to get a grouping value from; typically a method reference on the entity class, such as Person::getGender
        collector - the RemoteCollector to apply to grouped entities
        Returns:
        the the grouping of entities by the specified extractor; the keys in the returned map will be distinct values extracted by the specified extractor, and the values will be results of the specified collector for each group
        See Also:
        RemoteCollectors
      • groupBy

        <K,​A,​R> Map<K,​R> groupBy​(com.tangosol.util.Filter<?> filter,
                                                   com.tangosol.util.ValueExtractor<? super T,​? extends K> extractor,
                                                   com.tangosol.util.stream.RemoteCollector<? super T,​A,​R> collector)
        Return the grouping of entities by the specified extractor.
        Type Parameters:
        K - the type of extracted grouping keys
        A - the type of collector's accumulator
        R - the type of collector's result
        Parameters:
        filter - the entity selection criteria
        extractor - the extractor to get a grouping value from; typically a method reference on the entity class, such as Person::getGender
        collector - the RemoteCollector to apply to grouped entities
        Returns:
        the the grouping of entities by the specified extractor; the keys in the returned map will be distinct values extracted by the specified extractor, and the values will be results of the specified collector for each group
        See Also:
        RemoteCollectors
      • groupBy

        <K,​A,​R,​M extends Map<K,​R>> M groupBy​(com.tangosol.util.ValueExtractor<? super T,​? extends K> extractor,
                                                                     com.tangosol.util.function.Remote.Supplier<M> mapFactory,
                                                                     com.tangosol.util.stream.RemoteCollector<? super T,​A,​R> collector)
        Return the grouping of entities by the specified extractor.
        Type Parameters:
        K - the type of extracted grouping keys
        A - the type of collector's accumulator
        R - the type of collector's result
        M - the type of result Map
        Parameters:
        extractor - the extractor to get a grouping value from; typically a method reference on the entity class, such as Person::getGender
        mapFactory - the supplier to use to create result Map
        collector - the RemoteCollector to apply to grouped entities
        Returns:
        the the grouping of entities by the specified extractor; the keys in the returned map will be distinct values extracted by the specified extractor, and the values will be results of the specified collector for each group
        See Also:
        RemoteCollectors
      • groupBy

        <K,​A,​R,​M extends Map<K,​R>> M groupBy​(com.tangosol.util.Filter<?> filter,
                                                                     com.tangosol.util.ValueExtractor<? super T,​? extends K> extractor,
                                                                     com.tangosol.util.function.Remote.Supplier<M> mapFactory,
                                                                     com.tangosol.util.stream.RemoteCollector<? super T,​A,​R> collector)
        Return the grouping of entities by the specified extractor.
        Type Parameters:
        K - the type of extracted grouping keys
        A - the type of collector's accumulator
        R - the type of collector's result
        M - the type of result Map
        Parameters:
        filter - the entity selection criteria
        extractor - the extractor to get a grouping value from; typically a method reference on the entity class, such as Person::getGender
        mapFactory - the supplier to use to create result Map
        collector - the RemoteCollector to apply to grouped entities
        Returns:
        the the grouping of entities by the specified extractor; the keys in the returned map will be distinct values extracted by the specified extractor, and the values will be results of the specified collector for each group
        See Also:
        RemoteCollectors
      • max

        int max​(com.tangosol.util.function.Remote.ToIntFunction<? super T> extractor)
        Return the maximum value of the specified function.
        Parameters:
        extractor - the function to determine the maximum value for; typically a method reference on the entity class, such as Person::getAge
        Returns:
        the maximum value of the specified function
      • max

        int max​(com.tangosol.util.Filter<?> filter,
                com.tangosol.util.function.Remote.ToIntFunction<? super T> extractor)
        Return the maximum value of the specified function.
        Parameters:
        filter - the entity selection criteria
        extractor - the function to determine the maximum value for; typically a method reference on the entity class, such as Person::getAge
        Returns:
        the maximum value of the specified function
      • max

        long max​(com.tangosol.util.function.Remote.ToLongFunction<? super T> extractor)
        Return the maximum value of the specified function.
        Parameters:
        extractor - the function to determine the maximum value for; typically a method reference on the entity class, such as Person::getAge
        Returns:
        the maximum value of the specified function
      • max

        long max​(com.tangosol.util.Filter<?> filter,
                 com.tangosol.util.function.Remote.ToLongFunction<? super T> extractor)
        Return the maximum value of the specified function.
        Parameters:
        filter - the entity selection criteria
        extractor - the function to determine the maximum value for; typically a method reference on the entity class, such as Person::getAge
        Returns:
        the maximum value of the specified function
      • max

        double max​(com.tangosol.util.function.Remote.ToDoubleFunction<? super T> extractor)
        Return the maximum value of the specified function.
        Parameters:
        extractor - the function to determine the maximum value for; typically a method reference on the entity class, such as Person::getWeight
        Returns:
        the maximum value of the specified function
      • max

        double max​(com.tangosol.util.Filter<?> filter,
                   com.tangosol.util.function.Remote.ToDoubleFunction<? super T> extractor)
        Return the maximum value of the specified function.
        Parameters:
        filter - the entity selection criteria
        extractor - the function to determine the maximum value for; typically a method reference on the entity class, such as Person::getWeight
        Returns:
        the maximum value of the specified function
      • max

        BigDecimal max​(com.tangosol.util.function.Remote.ToBigDecimalFunction<? super T> extractor)
        Return the maximum value of the specified function.
        Parameters:
        extractor - the function to determine the maximum value for; typically a method reference on the entity class, such as Person::getSalary
        Returns:
        the maximum value of the specified function
      • max

        BigDecimal max​(com.tangosol.util.Filter<?> filter,
                       com.tangosol.util.function.Remote.ToBigDecimalFunction<? super T> extractor)
        Return the maximum value of the specified function.
        Parameters:
        filter - the entity selection criteria
        extractor - the function to determine the maximum value for; typically a method reference on the entity class, such as Person::getSalary
        Returns:
        the maximum value of the specified function
      • max

        <R extends Comparable<? super R>> R max​(com.tangosol.util.function.Remote.ToComparableFunction<? super T,​R> extractor)
        Return the maximum value of the specified function.
        Type Parameters:
        R - the type of the extracted values
        Parameters:
        extractor - the function to determine the maximum value for; typically a method reference on the entity class, such as Person::getName
        Returns:
        the maximum value of the specified function
      • max

        <R extends Comparable<? super R>> R max​(com.tangosol.util.Filter<?> filter,
                                                com.tangosol.util.function.Remote.ToComparableFunction<? super T,​R> extractor)
        Return the maximum value of the specified function.
        Type Parameters:
        R - the type of the extracted values
        Parameters:
        filter - the entity selection criteria
        extractor - the function to determine the maximum value for; typically a method reference on the entity class, such as Person::getName
        Returns:
        the maximum value of the specified function
      • maxBy

        <R extends Comparable<? super R>> Optional<T> maxBy​(com.tangosol.util.ValueExtractor<? super T,​? extends R> extractor)
        Return the entity with the maximum value of the specified function.
        Type Parameters:
        R - the type of the extracted values
        Parameters:
        extractor - the function to determine the maximum value for; typically a method reference on the entity class, such as Person::getAge
        Returns:
        the entity with the maximum value of the specified function
      • maxBy

        <R extends Comparable<? super R>> Optional<T> maxBy​(com.tangosol.util.Filter<?> filter,
                                                            com.tangosol.util.ValueExtractor<? super T,​? extends R> extractor)
        Return the entity with the maximum value of the specified function.
        Type Parameters:
        R - the type of the extracted values
        Parameters:
        filter - the entity selection criteria
        extractor - the function to determine the maximum value for; typically a method reference on the entity class, such as Person::getAge
        Returns:
        the entity with the maximum value of the specified function
      • min

        int min​(com.tangosol.util.function.Remote.ToIntFunction<? super T> extractor)
        Return the minimum value of the specified function.
        Parameters:
        extractor - the function to determine the minimum value for; typically a method reference on the entity class, such as Person::getAge
        Returns:
        the minimum value of the specified function
      • min

        int min​(com.tangosol.util.Filter<?> filter,
                com.tangosol.util.function.Remote.ToIntFunction<? super T> extractor)
        Return the minimum value of the specified function.
        Parameters:
        filter - the entity selection criteria
        extractor - the function to determine the minimum value for; typically a method reference on the entity class, such as Person::getAge
        Returns:
        the minimum value of the specified function
      • min

        long min​(com.tangosol.util.function.Remote.ToLongFunction<? super T> extractor)
        Return the minimum value of the specified function.
        Parameters:
        extractor - the function to determine the minimum value for; typically a method reference on the entity class, such as Person::getAge
        Returns:
        the minimum value of the specified function
      • min

        long min​(com.tangosol.util.Filter<?> filter,
                 com.tangosol.util.function.Remote.ToLongFunction<? super T> extractor)
        Return the minimum value of the specified function.
        Parameters:
        filter - the entity selection criteria
        extractor - the function to determine the minimum value for; typically a method reference on the entity class, such as Person::getAge
        Returns:
        the minimum value of the specified function
      • min

        double min​(com.tangosol.util.function.Remote.ToDoubleFunction<? super T> extractor)
        Return the minimum value of the specified function.
        Parameters:
        extractor - the function to determine the minimum value for; typically a method reference on the entity class, such as Person::getWeight
        Returns:
        the minimum value of the specified function
      • min

        double min​(com.tangosol.util.Filter<?> filter,
                   com.tangosol.util.function.Remote.ToDoubleFunction<? super T> extractor)
        Return the minimum value of the specified function.
        Parameters:
        filter - the entity selection criteria
        extractor - the function to determine the minimum value for; typically a method reference on the entity class, such as Person::getWeight
        Returns:
        the minimum value of the specified function
      • min

        BigDecimal min​(com.tangosol.util.function.Remote.ToBigDecimalFunction<? super T> extractor)
        Return the minimum value of the specified function.
        Parameters:
        extractor - the function to determine the minimum value for; typically a method reference on the entity class, such as Person::getSalary
        Returns:
        the minimum value of the specified function
      • min

        BigDecimal min​(com.tangosol.util.Filter<?> filter,
                       com.tangosol.util.function.Remote.ToBigDecimalFunction<? super T> extractor)
        Return the minimum value of the specified function.
        Parameters:
        filter - the entity selection criteria
        extractor - the function to determine the minimum value for; typically a method reference on the entity class, such as Person::getSalary
        Returns:
        the minimum value of the specified function
      • min

        <R extends Comparable<? super R>> R min​(com.tangosol.util.function.Remote.ToComparableFunction<? super T,​R> extractor)
        Return the minimum value of the specified function.
        Type Parameters:
        R - the type of the extracted values
        Parameters:
        extractor - the function to determine the minimum value for; typically a method reference on the entity class, such as Person::getName
        Returns:
        the minimum value of the specified function
      • min

        <R extends Comparable<? super R>> R min​(com.tangosol.util.Filter<?> filter,
                                                com.tangosol.util.function.Remote.ToComparableFunction<? super T,​R> extractor)
        Return the minimum value of the specified function.
        Type Parameters:
        R - the type of the extracted values
        Parameters:
        filter - the entity selection criteria
        extractor - the function to determine the minimum value for; typically a method reference on the entity class, such as Person::getName
        Returns:
        the minimum value of the specified function
      • minBy

        <R extends Comparable<? super R>> Optional<T> minBy​(com.tangosol.util.ValueExtractor<? super T,​? extends R> extractor)
        Return the entity with the minimum value of the specified function.
        Type Parameters:
        R - the type of the extracted values
        Parameters:
        extractor - the function to determine the minimum value for; typically a method reference on the entity class, such as Person::getAge
        Returns:
        the entity with the minimum value of the specified function
      • minBy

        <R extends Comparable<? super R>> Optional<T> minBy​(com.tangosol.util.Filter<?> filter,
                                                            com.tangosol.util.ValueExtractor<? super T,​? extends R> extractor)
        Return the entity with the minimum value of the specified function.
        Type Parameters:
        R - the type of the extracted values
        Parameters:
        filter - the entity selection criteria
        extractor - the function to determine the minimum value for; typically a method reference on the entity class, such as Person::getAge
        Returns:
        the entity with the minimum value of the specified function
      • sum

        long sum​(com.tangosol.util.function.Remote.ToIntFunction<? super T> extractor)
        Return the sum of the specified function.
        Parameters:
        extractor - the function to sum; typically a method reference on the entity class, such as Person::getAge
        Returns:
        the sum of the specified function
      • sum

        long sum​(com.tangosol.util.Filter<?> filter,
                 com.tangosol.util.function.Remote.ToIntFunction<? super T> extractor)
        Return the sum of the specified function.
        Parameters:
        filter - the entity selection criteria
        extractor - the function to sum; typically a method reference on the entity class, such as Person::getAge
        Returns:
        the sum of the specified function
      • sum

        long sum​(com.tangosol.util.function.Remote.ToLongFunction<? super T> extractor)
        Return the sum of the specified function.
        Parameters:
        extractor - the function to sum; typically a method reference on the entity class, such as Person::getAge
        Returns:
        the sum of the specified function
      • sum

        long sum​(com.tangosol.util.Filter<?> filter,
                 com.tangosol.util.function.Remote.ToLongFunction<? super T> extractor)
        Return the sum of the specified function.
        Parameters:
        filter - the entity selection criteria
        extractor - the function to sum; typically a method reference on the entity class, such as Person::getAge
        Returns:
        the sum of the specified function
      • sum

        double sum​(com.tangosol.util.function.Remote.ToDoubleFunction<? super T> extractor)
        Return the sum of the specified function.
        Parameters:
        extractor - the function to sum; typically a method reference on the entity class, such as Person::getWeight
        Returns:
        the sum of the specified function
      • sum

        double sum​(com.tangosol.util.Filter<?> filter,
                   com.tangosol.util.function.Remote.ToDoubleFunction<? super T> extractor)
        Return the sum of the specified function.
        Parameters:
        filter - the entity selection criteria
        extractor - the function to sum; typically a method reference on the entity class, such as Person::getWeight
        Returns:
        the sum of the specified function
      • sum

        BigDecimal sum​(com.tangosol.util.function.Remote.ToBigDecimalFunction<? super T> extractor)
        Return the sum of the specified function.
        Parameters:
        extractor - the function to sum; typically a method reference on the entity class, such as Person::getSalary
        Returns:
        the sum of the specified function
      • sum

        BigDecimal sum​(com.tangosol.util.Filter<?> filter,
                       com.tangosol.util.function.Remote.ToBigDecimalFunction<? super T> extractor)
        Return the sum of the specified function.
        Parameters:
        filter - the entity selection criteria
        extractor - the function to sum; typically a method reference on the entity class, such as Person::getSalary
        Returns:
        the sum of the specified function
      • top

        <R extends Comparable<? super R>> List<R> top​(com.tangosol.util.ValueExtractor<? super T,​? extends R> extractor,
                                                      int cResults)
        Return the top N highest values for the specified extractor.
        Type Parameters:
        R - the type of the extracted result
        Parameters:
        extractor - the extractor to get the values to compare with
        cResults - the number of highest values to return
        Returns:
        the top N highest values for the specified extractor
      • top

        <R extends Comparable<? super R>> List<R> top​(com.tangosol.util.Filter<?> filter,
                                                      com.tangosol.util.ValueExtractor<? super T,​? extends R> extractor,
                                                      int cResults)
        Return the top N highest values for the specified extractor.
        Type Parameters:
        R - the type of the extracted result
        Parameters:
        filter - the entity selection criteria
        extractor - the extractor to get the values to compare with
        cResults - the number of highest values to return
        Returns:
        the top N highest values for the specified extractor
      • top

        <R> List<R> top​(com.tangosol.util.ValueExtractor<? super T,​? extends R> extractor,
                        com.tangosol.util.function.Remote.Comparator<? super R> comparator,
                        int cResults)
        Return the top N highest values for the specified extractor.
        Type Parameters:
        R - the type of the extracted result
        Parameters:
        extractor - the extractor to get the values to compare with
        comparator - the comparator to use when comparing extracted values
        cResults - the number of highest values to return
        Returns:
        the top N highest values for the specified extractor
      • top

        <R> List<R> top​(com.tangosol.util.Filter<?> filter,
                        com.tangosol.util.ValueExtractor<? super T,​? extends R> extractor,
                        com.tangosol.util.function.Remote.Comparator<? super R> comparator,
                        int cResults)
        Return the top N highest values for the specified extractor.
        Type Parameters:
        R - the type of the extracted result
        Parameters:
        filter - the entity selection criteria
        extractor - the extractor to get the values to compare with
        comparator - the comparator to use when comparing extracted values
        cResults - the number of highest values to return
        Returns:
        the top N highest values for the specified extractor
      • topBy

        <R extends Comparable<? super R>> List<T> topBy​(com.tangosol.util.ValueExtractor<? super T,​? extends R> extractor,
                                                        int cResults)
        Return the top N entities with the highest values for the specified extractor.
        Type Parameters:
        R - the type of the extracted result
        Parameters:
        extractor - the extractor to get the values to compare with
        cResults - the number of highest values to return
        Returns:
        the top N entities with the highest values for the specified extractor
      • topBy

        <R extends Comparable<? super R>> List<T> topBy​(com.tangosol.util.Filter<?> filter,
                                                        com.tangosol.util.ValueExtractor<? super T,​? extends R> extractor,
                                                        int cResults)
        Return the top N entities with the highest values for the specified extractor.
        Type Parameters:
        R - the type of values used for comparison
        Parameters:
        filter - the entity selection criteria
        extractor - the extractor to get the values to compare with
        cResults - the number of highest values to return
        Returns:
        the top N entities with the highest values for the specified extractor
      • topBy

        List<T> topBy​(com.tangosol.util.function.Remote.Comparator<? super T> comparator,
                      int cResults)
        Return the top N entities with the highest values for the specified extractor.
        Parameters:
        comparator - the comparator to use when comparing extracted values
        cResults - the number of highest values to return
        Returns:
        the top N entities with the highest values for the specified extractor
      • topBy

        List<T> topBy​(com.tangosol.util.Filter<?> filter,
                      com.tangosol.util.function.Remote.Comparator<? super T> comparator,
                      int cResults)
        Return the top N entities with the highest values for the specified extractor.
        Parameters:
        filter - the entity selection criteria
        comparator - the comparator to use when comparing extracted values
        cResults - the number of highest values to return
        Returns:
        the top N entities with the highest values for the specified extractor
      • addListener

        void addListener​(com.oracle.coherence.repository.AbstractRepositoryBase.Listener<? super T> listener)
        Description copied from interface: ListenerSupport
        Register a listener that will observe all repository events.
        Specified by:
        addListener in interface ListenerSupport<T,​ID>
        Parameters:
        listener - the event listener to register
      • removeListener

        void removeListener​(com.oracle.coherence.repository.AbstractRepositoryBase.Listener<? super T> listener)
        Description copied from interface: ListenerSupport
        Unregister a listener that observes all repository events.
        Specified by:
        removeListener in interface ListenerSupport<T,​ID>
        Parameters:
        listener - the event listener to unregister
      • addListener

        void addListener​(ID id,
                         com.oracle.coherence.repository.AbstractRepositoryBase.Listener<? super T> listener)
        Description copied from interface: ListenerSupport
        Register a listener that will observe all events for a specific entity.
        Specified by:
        addListener in interface ListenerSupport<T,​ID>
        Parameters:
        id - the identifier of the entity to observe
        listener - the event listener to register
      • removeListener

        void removeListener​(ID id,
                            com.oracle.coherence.repository.AbstractRepositoryBase.Listener<? super T> listener)
        Description copied from interface: ListenerSupport
        Unregister a listener that observes all events for a specific entity.
        Specified by:
        removeListener in interface ListenerSupport<T,​ID>
        Parameters:
        id - the identifier of the entity to observe
        listener - the event listener to unregister
      • addListener

        void addListener​(com.tangosol.util.Filter<?> filter,
                         com.oracle.coherence.repository.AbstractRepositoryBase.Listener<? super T> listener)
        Description copied from interface: ListenerSupport
        Register a listener that will observe all events for entities that satisfy the specified criteria.
        Specified by:
        addListener in interface ListenerSupport<T,​ID>
        Parameters:
        filter - the criteria to use to select entities to observe
        listener - the event listener to register
      • removeListener

        void removeListener​(com.tangosol.util.Filter<?> filter,
                            com.oracle.coherence.repository.AbstractRepositoryBase.Listener<? super T> listener)
        Description copied from interface: ListenerSupport
        Unregister a listener that observes all events for entities that satisfy the specified criteria.
        Specified by:
        removeListener in interface ListenerSupport<T,​ID>
        Parameters:
        filter - the criteria to use to select entities to observe
        listener - the event listener to unregister
      • listener

        com.oracle.coherence.repository.AbstractRepositoryBase.Listener.Builder<T> listener()
        Description copied from interface: ListenerSupport
        Create new AbstractRepositoryBase.Listener.Builder instance.
        Specified by:
        listener in interface ListenerSupport<T,​ID>
        Returns:
        a new AbstractRepositoryBase.Listener.Builder instance