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