1/*
2* Copyright (C) 2014 Google, Inc.
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*/
16package test;
17
18import dagger.Component;
19import dagger.Lazy;
20import dagger.MembersInjector;
21import javax.inject.Provider;
22
23@Component(modules = PrimitivesModule.class)
24interface BasicComponent extends Injector<Thing> {
25  byte getByte();
26  char getChar();
27  short getShort();
28  int getInt();
29  long getLong();
30  boolean getBoolean();
31  float getFloat();
32  double getDouble();
33
34  Byte getBoxedByte();
35  Character getBoxedChar();
36  Short getBoxedShort();
37  Integer getBoxedInt();
38  Long getBoxedLong();
39  Boolean getBoxedBoolean();
40  Float getBoxedFloat();
41  Double getBoxedDouble();
42
43  Provider<Byte> getByteProvider();
44  Provider<Character> getCharProvider();
45  Provider<Short> getShortProvider();
46  Provider<Integer> getIntProvider();
47  Provider<Long> getLongProvider();
48  Provider<Boolean> getBooleanProvider();
49  Provider<Float> getFloatProvider();
50  Provider<Double> getDoubleProvider();
51
52  byte[] getByteArray();
53  char[] getCharArray();
54  short[] getShortArray();
55  int[] getIntArray();
56  long[] getLongArray();
57  boolean[] getBooleanArray();
58  float[] getFloatArray();
59  double[] getDoubleArray();
60
61  Provider<byte[]> getByteArrayProvider();
62  Provider<char[]> getCharArrayProvider();
63  Provider<short[]> getShortArrayProvider();
64  Provider<int[]> getIntArrayProvider();
65  Provider<long[]> getLongArrayProvider();
66  Provider<boolean[]> getBooleanArrayProvider();
67  Provider<float[]> getFloatArrayProvider();
68  Provider<double[]> getDoubleArrayProvider();
69
70  Object noOpMembersInjection(Object obviouslyDoesNotHaveMembersToInject);
71
72  Thing thing();
73  InjectedThing injectedThing();
74  Provider<InjectedThing> injectedThingProvider();
75  Lazy<InjectedThing> lazyInjectedThing();
76  MembersInjector<InjectedThing> injectedThingMembersInjector();
77
78  TypeWithInheritedMembersInjection typeWithInheritedMembersInjection();
79  MembersInjector<TypeWithInheritedMembersInjection>
80      typeWithInheritedMembersInjectionMembersInjector();
81}
82