All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.infinispan.stream.impl.TerminalOperation Maven / Gradle / Ivy

There is a newer version: 9.1.7.Final
Show newest version
package org.infinispan.stream.impl;

import org.infinispan.factories.ComponentRegistry;

import java.util.function.Supplier;
import java.util.stream.Stream;

/**
 * Interface describing an operation that is a terminal one that doesn't track keys.
 * @param  the returing result
 */
public interface TerminalOperation extends SegmentAwareOperation {
   /**
    * Actually runs the terminal operation returning the result from the operation
    * @return the value retrieved for the operation
    */
   R performOperation();

   /**
    * Sets the local supplier for the stream.  This is to be invoked on a remote node after the object is unmarshalled
    * to set the supplier to use
    * @param supplier the supplier that will return the stream that the operations are performed on
    */
   void setSupplier(Supplier> supplier);

   /**
    * Handles injection of components for various intermediate and this operation.
    * @param registry component registry to use
    */
   void handleInjection(ComponentRegistry registry);
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy