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