Interface ICollection<E>

Type Parameters:
E - item
All Superinterfaces:
Collection<E>, DistributedObject, Iterable<E>
All Known Subinterfaces:
IList<E>, IQueue<E>, ISet<E>

public interface ICollection<E> extends Collection<E>, DistributedObject
Concurrent, distributed, partitioned, listenable collection.
  • Method Details

    • getName

      @Nonnull String getName()
      Returns the name of this collection.
      Specified by:
      getName in interface DistributedObject
      Returns:
      the unique name for this object.
    • addItemListener

      @Nonnull UUID addItemListener(@Nonnull ItemListener<E> listener, boolean includeValue)
      Adds an item listener for this collection. The listener will be notified of all collection add/remove events.

      Listeners are non-destructive: They are notified about changes in a collection, but they won't have any effect on the collection itself. This is particularly relevant for IQueue: A listener won't consume queue elements. It's not a replacement for Queue consumers.

      Parameters:
      listener - the item listener
      includeValue - true if the updated item should be passed to the item listener, false otherwise
      Returns:
      returns the registration ID
    • removeItemListener

      boolean removeItemListener(@Nonnull UUID registrationId)
      Removes the specified item listener. Returns silently if the specified listener was not added before.
      Parameters:
      registrationId - ID of the listener registration
      Returns:
      true if the item listener is removed, false otherwise