1 /*
2  * Copyright (C) 2014 The Android Open Source Project
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
5  * in compliance with the License. You may obtain a copy of the License at
6  *
7  * http://www.apache.org/licenses/LICENSE-2.0
8  *
9  * Unless required by applicable law or agreed to in writing, software distributed under the License
10  * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
11  * or implied. See the License for the specific language governing permissions and limitations under
12  * the License.
13  */
14 package android.support.v17.leanback.widget;
15 
16 /**
17  * A PresenterSelector is used to obtain a {@link Presenter} for a given Object.
18  * Similar to {@link Presenter},  PresenterSelector is stateless.
19  */
20 public abstract class PresenterSelector {
21     /**
22      * Returns a presenter for the given item.
23      */
getPresenter(Object item)24     public abstract Presenter getPresenter(Object item);
25 
26     /**
27      * Returns an array of all possible presenters.  The returned array should
28      * not be modified.
29      */
getPresenters()30     public Presenter[] getPresenters() {
31         return null;
32     }
33 }
34