1 /*
2  * Copyright (C) 2016 The Dagger Authors.
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 
17 package dagger.functional.binds;
18 
19 import dagger.Component;
20 import dagger.functional.SomeQualifier;
21 import java.util.Map;
22 import java.util.Set;
23 import javax.inject.Provider;
24 import javax.inject.Singleton;
25 
26 @Singleton
27 @Component(modules = SimpleBindingModule.class)
28 public interface TestComponent {
object()29   Object object();
30 
31   @SomeQualifier
reusableObject()32   Object reusableObject();
33 
fooOfStrings()34   Foo<String> fooOfStrings();
35 
fooOfObjects()36   Foo<Object> fooOfObjects();
37 
38   @SomeQualifier
qualifiedFooOfStrings()39   Foo<String> qualifiedFooOfStrings();
40 
fooOfIntegers()41   Foo<Integer> fooOfIntegers();
42 
foosOfNumbers()43   Set<Foo<? extends Number>> foosOfNumbers();
44 
objects()45   Set<Object> objects();
46 
charSequences()47   Set<CharSequence> charSequences();
48 
integerObjectMap()49   Map<Integer, Object> integerObjectMap();
50 
integerProviderOfObjectMap()51   Map<Integer, Provider<Object>> integerProviderOfObjectMap();
52 
qualifiedIntegerObjectMap()53   @SomeQualifier Map<Integer, Object> qualifiedIntegerObjectMap();
54 
uniquePrimitive()55   @SomeQualifier int uniquePrimitive();
56 
primitiveSet()57   Set<Integer> primitiveSet();
58 
primitiveValueMap()59   Map<Integer, Integer> primitiveValueMap();
60 }
61