1f252dc7a25ba08b973ecc1cfbbce58eb78d42167Bjorn Bringert/*
2f252dc7a25ba08b973ecc1cfbbce58eb78d42167Bjorn Bringert * Copyright (C) 2010 The Android Open Source Project
3f252dc7a25ba08b973ecc1cfbbce58eb78d42167Bjorn Bringert *
4f252dc7a25ba08b973ecc1cfbbce58eb78d42167Bjorn Bringert * Licensed under the Apache License, Version 2.0 (the "License");
5f252dc7a25ba08b973ecc1cfbbce58eb78d42167Bjorn Bringert * you may not use this file except in compliance with the License.
6f252dc7a25ba08b973ecc1cfbbce58eb78d42167Bjorn Bringert * You may obtain a copy of the License at
7f252dc7a25ba08b973ecc1cfbbce58eb78d42167Bjorn Bringert *
8f252dc7a25ba08b973ecc1cfbbce58eb78d42167Bjorn Bringert *      http://www.apache.org/licenses/LICENSE-2.0
9f252dc7a25ba08b973ecc1cfbbce58eb78d42167Bjorn Bringert *
10f252dc7a25ba08b973ecc1cfbbce58eb78d42167Bjorn Bringert * Unless required by applicable law or agreed to in writing, software
11f252dc7a25ba08b973ecc1cfbbce58eb78d42167Bjorn Bringert * distributed under the License is distributed on an "AS IS" BASIS,
12f252dc7a25ba08b973ecc1cfbbce58eb78d42167Bjorn Bringert * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13f252dc7a25ba08b973ecc1cfbbce58eb78d42167Bjorn Bringert * See the License for the specific language governing permissions and
14f252dc7a25ba08b973ecc1cfbbce58eb78d42167Bjorn Bringert * limitations under the License.
15f252dc7a25ba08b973ecc1cfbbce58eb78d42167Bjorn Bringert */
16f252dc7a25ba08b973ecc1cfbbce58eb78d42167Bjorn Bringert
17f252dc7a25ba08b973ecc1cfbbce58eb78d42167Bjorn Bringertpackage com.android.quicksearchbox.util;
18f252dc7a25ba08b973ecc1cfbbce58eb78d42167Bjorn Bringert
19f252dc7a25ba08b973ecc1cfbbce58eb78d42167Bjorn Bringert/**
20f252dc7a25ba08b973ecc1cfbbce58eb78d42167Bjorn Bringert * Interface for data consumers.
21f252dc7a25ba08b973ecc1cfbbce58eb78d42167Bjorn Bringert *
22f252dc7a25ba08b973ecc1cfbbce58eb78d42167Bjorn Bringert * @param <A> The type of data to consume.
23f252dc7a25ba08b973ecc1cfbbce58eb78d42167Bjorn Bringert */
24f252dc7a25ba08b973ecc1cfbbce58eb78d42167Bjorn Bringertpublic interface Consumer<A> {
25f252dc7a25ba08b973ecc1cfbbce58eb78d42167Bjorn Bringert
26f252dc7a25ba08b973ecc1cfbbce58eb78d42167Bjorn Bringert    /**
27f252dc7a25ba08b973ecc1cfbbce58eb78d42167Bjorn Bringert     * Consumes a value.
28f252dc7a25ba08b973ecc1cfbbce58eb78d42167Bjorn Bringert     *
29f252dc7a25ba08b973ecc1cfbbce58eb78d42167Bjorn Bringert     * @param value The value to consume.
30f252dc7a25ba08b973ecc1cfbbce58eb78d42167Bjorn Bringert     * @return {@code true} if the value was accepted, {@code false} otherwise.
31f252dc7a25ba08b973ecc1cfbbce58eb78d42167Bjorn Bringert     */
32f252dc7a25ba08b973ecc1cfbbce58eb78d42167Bjorn Bringert    boolean consume(A value);
33f252dc7a25ba08b973ecc1cfbbce58eb78d42167Bjorn Bringert
34f252dc7a25ba08b973ecc1cfbbce58eb78d42167Bjorn Bringert}
35