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

com.landawn.abacus.util.function.IntFunction Maven / Gradle / Ivy

There is a newer version: 1.2.9
Show newest version
/*
 * Copyright (C) 2016 HaiYang Li
 *
 * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
 * in compliance with the License. You may obtain a copy of the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software distributed under the License
 * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
 * or implied. See the License for the specific language governing permissions and limitations under
 * the License.
 */

package com.landawn.abacus.util.function;

import java.util.ArrayDeque;
import java.util.LinkedHashMap;
import java.util.LinkedHashSet;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;
import java.util.PriorityQueue;
import java.util.Queue;
import java.util.Set;
import java.util.TreeMap;
import java.util.TreeSet;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ConcurrentLinkedQueue;
import java.util.concurrent.LinkedBlockingQueue;
import java.util.function.Function;

import com.landawn.abacus.util.Fn;
import com.landawn.abacus.util.N;

/**
 * Refer to JDK API documentation at: https://docs.oracle.com/javase/8/docs/api/java/util/function/package-summary.html
 * @since 0.8
 * 
 * @author Haiyang Li
 */
public interface IntFunction extends java.util.function.IntFunction {
    static final IntFunction BOX = new IntFunction() {
        @Override
        public Integer apply(int value) {
            return value;
        }
    };

    @Override
    R apply(int value);

    default  IntFunction andThen(Function after) {
        N.requireNonNull(after);

        return t -> after.apply(apply(t));
    }

    static IntFunction identity() {
        return t -> t;
    }

    public static  IntFunction> ofList() {
        return Fn.Factory.ofList();
    }

    public static  IntFunction> ofLinkedList() {
        return Fn.Factory.ofLinkedList();
    }

    public static  IntFunction> ofSet() {
        return Fn.Factory.ofSet();
    }

    public static  IntFunction> ofLinkedHashSet() {
        return Fn.Factory.ofLinkedHashSet();
    }

    public static  IntFunction> ofTreeSet() {
        return Fn.Factory.ofTreeSet();
    }

    public static  IntFunction> ofMap() {
        return Fn.Factory.ofMap();
    }

    public static  IntFunction> ofLinkedHashMap() {
        return Fn.Factory.ofLinkedHashMap();
    }

    public static  IntFunction> ofTreeMap() {
        return Fn.Factory.ofTreeMap();
    }

    public static  IntFunction> ofConcurrentHashMap() {
        return Fn.Factory.ofConcurrentHashMap();
    }

    public static  IntFunction> ofQueue() {
        return Fn.Factory.ofQueue();
    }

    public static  IntFunction> ofArrayDeque() {
        return Fn.Factory.ofArrayDeque();
    }

    public static  IntFunction> ofLinkedBlockingQueue() {
        return Fn.Factory.ofLinkedBlockingQueue();
    }

    public static  IntFunction> ofConcurrentLinkedQueue() {
        return Fn.Factory.ofConcurrentLinkedQueue();
    }

    public static  IntFunction> ofPriorityQueue() {
        return Fn.Factory.ofPriorityQueue();
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy