1171f097997993b84053f643dc275ce66364315caPhilip P. Moltmann/*
2171f097997993b84053f643dc275ce66364315caPhilip P. Moltmann * Copyright (c) 2016 Mockito contributors
3171f097997993b84053f643dc275ce66364315caPhilip P. Moltmann * This program is made available under the terms of the MIT License.
4171f097997993b84053f643dc275ce66364315caPhilip P. Moltmann */
5171f097997993b84053f643dc275ce66364315caPhilip P. Moltmann
6171f097997993b84053f643dc275ce66364315caPhilip P. Moltmannpackage com.android.dx.mockito.inline;
7171f097997993b84053f643dc275ce66364315caPhilip P. Moltmann
8171f097997993b84053f643dc275ce66364315caPhilip P. Moltmannimport java.util.Collections;
9171f097997993b84053f643dc275ce66364315caPhilip P. Moltmannimport java.util.Set;
10171f097997993b84053f643dc275ce66364315caPhilip P. Moltmann
11171f097997993b84053f643dc275ce66364315caPhilip P. Moltmannclass MockFeatures<T> {
12171f097997993b84053f643dc275ce66364315caPhilip P. Moltmann    final Class<T> mockedType;
13171f097997993b84053f643dc275ce66364315caPhilip P. Moltmann    final Set<Class<?>> interfaces;
14171f097997993b84053f643dc275ce66364315caPhilip P. Moltmann
15171f097997993b84053f643dc275ce66364315caPhilip P. Moltmann    private MockFeatures(Class<T> mockedType, Set<Class<?>> interfaces) {
16171f097997993b84053f643dc275ce66364315caPhilip P. Moltmann        this.mockedType = mockedType;
17171f097997993b84053f643dc275ce66364315caPhilip P. Moltmann        this.interfaces = Collections.unmodifiableSet(interfaces);
18171f097997993b84053f643dc275ce66364315caPhilip P. Moltmann    }
19171f097997993b84053f643dc275ce66364315caPhilip P. Moltmann
20171f097997993b84053f643dc275ce66364315caPhilip P. Moltmann    static <T> MockFeatures<T> withMockFeatures(Class<T> mockedType, Set<Class<?>> interfaces) {
21171f097997993b84053f643dc275ce66364315caPhilip P. Moltmann        return new MockFeatures<>(mockedType, interfaces);
22171f097997993b84053f643dc275ce66364315caPhilip P. Moltmann    }
23171f097997993b84053f643dc275ce66364315caPhilip P. Moltmann}
24