xref: /aosp_15_r20/external/dagger2/javatests/dagger/functional/basic/PrimitivesModule.java (revision f585d8a307d0621d6060bd7e80091fdcbf94fe27)
1*f585d8a3SJacky Wang /*
2*f585d8a3SJacky Wang  * Copyright (C) 2015 The Dagger Authors.
3*f585d8a3SJacky Wang  *
4*f585d8a3SJacky Wang  * Licensed under the Apache License, Version 2.0 (the "License");
5*f585d8a3SJacky Wang  * you may not use this file except in compliance with the License.
6*f585d8a3SJacky Wang  * You may obtain a copy of the License at
7*f585d8a3SJacky Wang  *
8*f585d8a3SJacky Wang  * http://www.apache.org/licenses/LICENSE-2.0
9*f585d8a3SJacky Wang  *
10*f585d8a3SJacky Wang  * Unless required by applicable law or agreed to in writing, software
11*f585d8a3SJacky Wang  * distributed under the License is distributed on an "AS IS" BASIS,
12*f585d8a3SJacky Wang  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13*f585d8a3SJacky Wang  * See the License for the specific language governing permissions and
14*f585d8a3SJacky Wang  * limitations under the License.
15*f585d8a3SJacky Wang  */
16*f585d8a3SJacky Wang 
17*f585d8a3SJacky Wang package dagger.functional.basic;
18*f585d8a3SJacky Wang 
19*f585d8a3SJacky Wang import dagger.Module;
20*f585d8a3SJacky Wang import dagger.Provides;
21*f585d8a3SJacky Wang 
22*f585d8a3SJacky Wang @Module
23*f585d8a3SJacky Wang final class PrimitivesModule {
24*f585d8a3SJacky Wang   static final byte BOUND_BYTE = -41;
25*f585d8a3SJacky Wang   static final char BOUND_CHAR = 'g';
26*f585d8a3SJacky Wang   static final short BOUND_SHORT = 21840;
27*f585d8a3SJacky Wang   static final int BOUND_INT = 1894833693;
28*f585d8a3SJacky Wang   static final long BOUND_LONG = -4369839828653523584L;
29*f585d8a3SJacky Wang   static final boolean BOUND_BOOLEAN = true;
30*f585d8a3SJacky Wang   static final float BOUND_FLOAT = (float) 0.9964542;
31*f585d8a3SJacky Wang   static final double BOUND_DOUBLE = 0.12681322049667765;
32*f585d8a3SJacky Wang 
33*f585d8a3SJacky Wang   /*
34*f585d8a3SJacky Wang    * While we can't ensure that these constants stay constant, this is a test so we're just going to
35*f585d8a3SJacky Wang    * keep our fingers crossed that we're not going to be jerks.
36*f585d8a3SJacky Wang    */
37*f585d8a3SJacky Wang   static final byte[] BOUND_BYTE_ARRAY =  {1, 2, 3};
38*f585d8a3SJacky Wang   static final char[] BOUND_CHAR_ARRAY = {'g', 'a', 'k'};
39*f585d8a3SJacky Wang   static final short[] BOUND_SHORT_ARRAY = {2, 4};
40*f585d8a3SJacky Wang   static final int[] BOUND_INT_ARRAY = {3, 1, 2};
41*f585d8a3SJacky Wang   static final long[] BOUND_LONG_ARRAY = {1, 1, 2, 3, 5};
42*f585d8a3SJacky Wang   static final boolean[] BOUND_BOOLEAN_ARRAY = {false, true, false, false};
43*f585d8a3SJacky Wang   static final float[] BOUND_FLOAT_ARRAY = {(float) 0.1, (float) 0.01, (float) 0.001};
44*f585d8a3SJacky Wang   static final double[] BOUND_DOUBLE_ARRAY = {0.2, 0.02, 0.002};
45*f585d8a3SJacky Wang 
provideByte()46*f585d8a3SJacky Wang   @Provides static byte provideByte() {
47*f585d8a3SJacky Wang     return BOUND_BYTE;
48*f585d8a3SJacky Wang   }
49*f585d8a3SJacky Wang 
provideChar()50*f585d8a3SJacky Wang   @Provides static char provideChar() {
51*f585d8a3SJacky Wang     return BOUND_CHAR;
52*f585d8a3SJacky Wang   }
53*f585d8a3SJacky Wang 
provideShort()54*f585d8a3SJacky Wang   @Provides static short provideShort() {
55*f585d8a3SJacky Wang     return BOUND_SHORT;
56*f585d8a3SJacky Wang   }
57*f585d8a3SJacky Wang 
provideInt()58*f585d8a3SJacky Wang   @Provides static int provideInt() {
59*f585d8a3SJacky Wang     return BOUND_INT;
60*f585d8a3SJacky Wang   }
61*f585d8a3SJacky Wang 
provideLong()62*f585d8a3SJacky Wang   @Provides static long provideLong() {
63*f585d8a3SJacky Wang     return BOUND_LONG;
64*f585d8a3SJacky Wang   }
65*f585d8a3SJacky Wang 
provideBoolean()66*f585d8a3SJacky Wang   @Provides static boolean provideBoolean() {
67*f585d8a3SJacky Wang     return BOUND_BOOLEAN;
68*f585d8a3SJacky Wang   }
69*f585d8a3SJacky Wang 
provideFloat()70*f585d8a3SJacky Wang   @Provides static float provideFloat() {
71*f585d8a3SJacky Wang     return BOUND_FLOAT;
72*f585d8a3SJacky Wang   }
73*f585d8a3SJacky Wang 
boundDouble()74*f585d8a3SJacky Wang   @Provides static double boundDouble() {
75*f585d8a3SJacky Wang     return BOUND_DOUBLE;
76*f585d8a3SJacky Wang   }
77*f585d8a3SJacky Wang 
provideByteArray()78*f585d8a3SJacky Wang   @Provides static byte[] provideByteArray() {
79*f585d8a3SJacky Wang     return BOUND_BYTE_ARRAY;
80*f585d8a3SJacky Wang   }
81*f585d8a3SJacky Wang 
provideCharArray()82*f585d8a3SJacky Wang   @Provides static char[] provideCharArray() {
83*f585d8a3SJacky Wang     return BOUND_CHAR_ARRAY;
84*f585d8a3SJacky Wang   }
85*f585d8a3SJacky Wang 
provideShortArray()86*f585d8a3SJacky Wang   @Provides static short[] provideShortArray() {
87*f585d8a3SJacky Wang     return BOUND_SHORT_ARRAY;
88*f585d8a3SJacky Wang   }
89*f585d8a3SJacky Wang 
provideIntArray()90*f585d8a3SJacky Wang   @Provides static int[] provideIntArray() {
91*f585d8a3SJacky Wang     return BOUND_INT_ARRAY;
92*f585d8a3SJacky Wang   }
93*f585d8a3SJacky Wang 
provideLongArray()94*f585d8a3SJacky Wang   @Provides static long[] provideLongArray() {
95*f585d8a3SJacky Wang     return BOUND_LONG_ARRAY;
96*f585d8a3SJacky Wang   }
97*f585d8a3SJacky Wang 
provideBooleanArray()98*f585d8a3SJacky Wang   @Provides static boolean[] provideBooleanArray() {
99*f585d8a3SJacky Wang     return BOUND_BOOLEAN_ARRAY;
100*f585d8a3SJacky Wang   }
101*f585d8a3SJacky Wang 
provideFloatArray()102*f585d8a3SJacky Wang   @Provides static float[] provideFloatArray() {
103*f585d8a3SJacky Wang     return BOUND_FLOAT_ARRAY;
104*f585d8a3SJacky Wang   }
105*f585d8a3SJacky Wang 
boundDoubleArray()106*f585d8a3SJacky Wang   @Provides static double[] boundDoubleArray() {
107*f585d8a3SJacky Wang     return BOUND_DOUBLE_ARRAY;
108*f585d8a3SJacky Wang   }
109*f585d8a3SJacky Wang }
110