1f4ebe2e2ccfcbce9de7ad0c3b5399971201f66fdWale Ogunwale/* 2f4ebe2e2ccfcbce9de7ad0c3b5399971201f66fdWale Ogunwale * Copyright (C) 2016 The Android Open Source Project 3f4ebe2e2ccfcbce9de7ad0c3b5399971201f66fdWale Ogunwale * 4f4ebe2e2ccfcbce9de7ad0c3b5399971201f66fdWale Ogunwale * Licensed under the Apache License, Version 2.0 (the "License"); 5f4ebe2e2ccfcbce9de7ad0c3b5399971201f66fdWale Ogunwale * you may not use this file except in compliance with the License. 6f4ebe2e2ccfcbce9de7ad0c3b5399971201f66fdWale Ogunwale * You may obtain a copy of the License at 7f4ebe2e2ccfcbce9de7ad0c3b5399971201f66fdWale Ogunwale * 8f4ebe2e2ccfcbce9de7ad0c3b5399971201f66fdWale Ogunwale * http://www.apache.org/licenses/LICENSE-2.0 9f4ebe2e2ccfcbce9de7ad0c3b5399971201f66fdWale Ogunwale * 10f4ebe2e2ccfcbce9de7ad0c3b5399971201f66fdWale Ogunwale * Unless required by applicable law or agreed to in writing, software 11f4ebe2e2ccfcbce9de7ad0c3b5399971201f66fdWale Ogunwale * distributed under the License is distributed on an "AS IS" BASIS, 12f4ebe2e2ccfcbce9de7ad0c3b5399971201f66fdWale Ogunwale * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13f4ebe2e2ccfcbce9de7ad0c3b5399971201f66fdWale Ogunwale * See the License for the specific language governing permissions and 14f4ebe2e2ccfcbce9de7ad0c3b5399971201f66fdWale Ogunwale * limitations under the License 15f4ebe2e2ccfcbce9de7ad0c3b5399971201f66fdWale Ogunwale */ 16f4ebe2e2ccfcbce9de7ad0c3b5399971201f66fdWale Ogunwale 17f4ebe2e2ccfcbce9de7ad0c3b5399971201f66fdWale Ogunwalepackage com.android.internal.util; 18f4ebe2e2ccfcbce9de7ad0c3b5399971201f66fdWale Ogunwale 19f4ebe2e2ccfcbce9de7ad0c3b5399971201f66fdWale Ogunwaleimport java.util.function.Function; 20f4ebe2e2ccfcbce9de7ad0c3b5399971201f66fdWale Ogunwale 21f4ebe2e2ccfcbce9de7ad0c3b5399971201f66fdWale Ogunwale/** 22f4ebe2e2ccfcbce9de7ad0c3b5399971201f66fdWale Ogunwale * Represents a function that produces an boolean-valued result. This is the 23f4ebe2e2ccfcbce9de7ad0c3b5399971201f66fdWale Ogunwale * {@code boolean}-producing primitive specialization for {@link Function}. 24f4ebe2e2ccfcbce9de7ad0c3b5399971201f66fdWale Ogunwale * 25f4ebe2e2ccfcbce9de7ad0c3b5399971201f66fdWale Ogunwale * <p>This is a <a href="package-summary.html">functional interface</a> 26f4ebe2e2ccfcbce9de7ad0c3b5399971201f66fdWale Ogunwale * whose functional method is {@link #apply(Object)}. 27f4ebe2e2ccfcbce9de7ad0c3b5399971201f66fdWale Ogunwale * 28f4ebe2e2ccfcbce9de7ad0c3b5399971201f66fdWale Ogunwale * @param <T> the type of the input to the function 29f4ebe2e2ccfcbce9de7ad0c3b5399971201f66fdWale Ogunwale * 30f4ebe2e2ccfcbce9de7ad0c3b5399971201f66fdWale Ogunwale * @see Function 31f4ebe2e2ccfcbce9de7ad0c3b5399971201f66fdWale Ogunwale * @since 1.8 32f4ebe2e2ccfcbce9de7ad0c3b5399971201f66fdWale Ogunwale */ 33f4ebe2e2ccfcbce9de7ad0c3b5399971201f66fdWale Ogunwale@FunctionalInterface 34f4ebe2e2ccfcbce9de7ad0c3b5399971201f66fdWale Ogunwalepublic interface ToBooleanFunction<T> { 35f4ebe2e2ccfcbce9de7ad0c3b5399971201f66fdWale Ogunwale 36f4ebe2e2ccfcbce9de7ad0c3b5399971201f66fdWale Ogunwale /** 37f4ebe2e2ccfcbce9de7ad0c3b5399971201f66fdWale Ogunwale * Applies this function to the given argument. 38f4ebe2e2ccfcbce9de7ad0c3b5399971201f66fdWale Ogunwale * 39f4ebe2e2ccfcbce9de7ad0c3b5399971201f66fdWale Ogunwale * @param value the function argument 40f4ebe2e2ccfcbce9de7ad0c3b5399971201f66fdWale Ogunwale * @return the function result 41f4ebe2e2ccfcbce9de7ad0c3b5399971201f66fdWale Ogunwale */ 42f4ebe2e2ccfcbce9de7ad0c3b5399971201f66fdWale Ogunwale boolean apply(T value); 43f4ebe2e2ccfcbce9de7ad0c3b5399971201f66fdWale Ogunwale} 44