org.infinispan.commons.util.InjectiveFunction Maven / Gradle / Ivy
package org.infinispan.commons.util;
import java.util.function.Function;
/**
* This is a marker interface to be used with {@link Function} which signals to some implementors that
* the function returns distinct values. This can be helpful because when a function is applied to data is ambiguous
* if the resulting data produced is distinct or not. This allows some callers of this method to apply additional
* performance optimizations taking this into account.
*
* If a function is implemented with this and it doesn't produce distinct values, the operation of the
* consumer of this function may be undefined.
*
* @author wburns
* @since 9.0
*/
public interface InjectiveFunction extends Function {
}