package org.multiverse.api.functions; /** * A {@link Function} for primitives that accepts an argument of type long and returns a new * value of the same type. * * <p>The reason why {@link LongFunction} is an abstract class instead of an ordinary interface, is that * this class doesn't cause any unwanted boxing of primitives version of the call method is used instead of the one that * accepts and returns a/an Long). * * <p>This class is generated. * * @author Peter Veentjer. */ public abstract class LongFunction implements Function<Long>{ /** * Calculates the new value based on the current value. * * @param current the current value. * @return the new value. */ public abstract long call(long current); @Override public final Long call(Long arg) { return call((long) arg); } }