package org.multiverse.api.functions; /** * A {@link Function} for primitives that accepts an argument of type int and returns a new * value of the same type. * * <p>The reason why {@link IntFunction} 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 Integer). * * <p>This class is generated. * * @author Peter Veentjer. */ public abstract class IntFunction implements Function<Integer>{ /** * Calculates the new value based on the current value. * * @param current the current value. * @return the new value. */ public abstract int call(int current); @Override public final Integer call(Integer arg) { return call((int) arg); } }