Class XIterable.Executor<E>

java.lang.Object
one.microstream.collections.types.XIterable.Executor<E>
All Implemented Interfaces:
XIterable<E>
Enclosing interface:
XIterable<E>

public static final class XIterable.Executor<E>
extends Object
implements XIterable<E>
Wrapper class that implements XIterable to wrap a subject of type E that procedures shall be executed on.

By using an executor instance, an instance not implementing XIterable can be passed to a context expecting an XIterable instance. Through this abstraction, logic can be written that can be equally executed on single objects (via this wrapper) or multiple objects (via X-collections).

Example:

 someRegistryLogic.register(persons);
 someRegistryLogic.register(new Exector<Person>(singlePerson));
 
  • Constructor Details

  • Method Details

    • iterate

      public <P extends Consumer<? super E>> P iterate​(P procedure)
      Description copied from interface: XIterable
      Executes the given procedure for each element of the XIterable until all elements have been processed or the action throws an exception. Unless otherwise specified by the implementing class, procedures are performed in the order of iteration (if an iteration order is specified). Exceptions thrown by the procedure are relayed to the caller.
      Should be identical to Iterable.forEach(Consumer).
      Specified by:
      iterate in interface XIterable<E>
      Type Parameters:
      P - type of procedure
      Parameters:
      procedure - The procedure to be performed for each element
      Returns:
      Given procedure