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.Deque;
import java.util.LinkedHashMap;
import java.util.LinkedHashSet;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;
import java.util.NavigableMap;
import java.util.NavigableSet;
import java.util.Objects;
import java.util.PriorityQueue;
import java.util.Queue;
import java.util.Set;
import java.util.SortedMap;
import java.util.SortedSet;
import java.util.TreeMap;
import java.util.TreeSet;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ConcurrentLinkedQueue;
import java.util.concurrent.ConcurrentMap;
import java.util.concurrent.LinkedBlockingQueue;
import java.util.function.Function;

import com.landawn.abacus.util.BiMap;
import com.landawn.abacus.util.BooleanList;
import com.landawn.abacus.util.ByteList;
import com.landawn.abacus.util.CharList;
import com.landawn.abacus.util.DoubleList;
import com.landawn.abacus.util.FloatList;
import com.landawn.abacus.util.Fn.Factory;
import com.landawn.abacus.util.IntList;
import com.landawn.abacus.util.ListMultimap;
import com.landawn.abacus.util.LongList;
import com.landawn.abacus.util.LongMultiset;
import com.landawn.abacus.util.Multiset;
import com.landawn.abacus.util.SetMultimap;
import com.landawn.abacus.util.ShortList;
import com.landawn.abacus.util.Try;

/**
 * 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, Try.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) {
        Objects.requireNonNull(after);

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

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

    public static IntFunction ofBooleanArray() {
        return Factory.ofBooleanArray();
    }

    public static IntFunction ofCharArray() {
        return Factory.ofCharArray();
    }

    public static IntFunction ofByteArray() {
        return Factory.ofByteArray();
    }

    public static IntFunction ofShortArray() {
        return Factory.ofShortArray();
    }

    public static IntFunction ofIntArray() {
        return Factory.ofIntArray();
    }

    public static IntFunction ofLongArray() {
        return Factory.ofLongArray();
    }

    public static IntFunction ofFloatArray() {
        return Factory.ofFloatArray();
    }

    public static IntFunction ofDoubleArray() {
        return Factory.ofDoubleArray();
    }

    public static IntFunction ofStringArray() {
        return Factory.ofStringArray();
    }

    public static IntFunction ofObjectArray() {
        return Factory.ofObjectArray();
    }

    public static IntFunction ofBooleanList() {
        return Factory.ofBooleanList();
    }

    public static IntFunction ofCharList() {
        return Factory.ofCharList();
    }

    public static IntFunction ofByteList() {
        return Factory.ofByteList();
    }

    public static IntFunction ofShortList() {
        return Factory.ofShortList();
    }

    public static IntFunction ofIntList() {
        return Factory.ofIntList();
    }

    public static IntFunction ofLongList() {
        return Factory.ofLongList();
    }

    public static IntFunction ofFloatList() {
        return Factory.ofFloatList();
    }

    public static IntFunction ofDoubleList() {
        return Factory.ofDoubleList();
    }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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




© 2015 - 2025 Weber Informatics LLC | Privacy Policy