ListRow.java revision 8b068ddbbf22a246eab49ec25a2f7c3abfbdca51
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 */
14package android.support.v17.leanback.widget;
15
16/**
17 * A row composed of a optional {@link HeaderItem}, and an {@link ObjectAdapter}
18 * describing children.
19 */
20public class ListRow extends Row {
21    private final ObjectAdapter mAdapter;
22
23    /**
24     * Get the {@link ObjectAdapter} that represents a list of objects.
25     */
26    public final ObjectAdapter getAdapter() {
27        return mAdapter;
28    }
29
30    public ListRow(HeaderItem header, ObjectAdapter adapter) {
31        super(header);
32        mAdapter = adapter;
33        verify();
34    }
35
36    public ListRow(long id, HeaderItem header, ObjectAdapter adapter) {
37        super(id, header);
38        mAdapter = adapter;
39        verify();
40    }
41
42    public ListRow(ObjectAdapter adapter) {
43        super();
44        mAdapter = adapter;
45        verify();
46    }
47
48    private void verify() {
49        if (mAdapter == null) {
50            throw new IllegalArgumentException("ObjectAdapter cannot be null");
51        }
52    }
53}
54