Split files, check command-line arguments

master
Alinson S. Xavier 9 years ago
parent 5706837132
commit b6bb7b0ca0

@ -1,42 +1,8 @@
package com.example;
import javax.inject.*;
import dagger.*;
import com.acme.*;
@Module
class YahooWeatherModule {
private final String key;
public YahooWeatherModule(String key) {
this.key = key;
}
@Provides
WeatherService provideWeatherService(WebSocket socket) {
return new YahooWeather(key, socket);
}
}
@Module
class WeatherChannelModule {
@Provides
WeatherService provideWeatherService() {
return new WeatherChannel();
}
}
@Module
class GpsSensorModule {
@Provides
GpsSensor provideGpsSensor() {
GpsSensor gps = new GpsSensor();
gps.calibrate();
return gps;
}
}
@Component(modules = {YahooWeatherModule.class, GpsSensorModule.class})
interface AppComponent {
WeatherReporter getWeatherReporter();
@ -44,8 +10,14 @@ interface AppComponent {
public class Application {
public static void main(String args[]) {
if(args.length < 1) {
System.out.println("You must provide an API key\n");
return;
}
String apiKey = args[0];
YahooWeatherModule yahoo = new YahooWeatherModule(apiKey);
AppComponent component = DaggerAppComponent.builder()
.yahooWeatherModule(yahoo)
.build();

@ -0,0 +1,13 @@
package com.example;
import com.acme.*;
import dagger.*;
@Module
public class GpsSensorModule {
@Provides
GpsSensor provideGpsSensor() {
GpsSensor gps = new GpsSensor();
gps.calibrate();
return gps;
}
}

@ -1,5 +1,4 @@
package com.example;
import javax.inject.*;
import com.acme.*;

@ -1,5 +1,5 @@
package com.example;
import javax.inject.Inject;
import javax.inject.*;
public class WeatherChannel implements WeatherService {
@Inject

@ -0,0 +1,10 @@
package com.example;
import dagger.*;
@Module
public class WeatherChannelModule {
@Provides
WeatherService provideWeatherService() {
return new WeatherChannel();
}
}

@ -1,5 +1,4 @@
package com.example;
import javax.inject.*;
public interface WeatherService {
}

@ -1,5 +1,5 @@
package com.example;
import javax.inject.Inject;
import javax.inject.*;
public class WebSocket {
@Inject

@ -1,5 +1,5 @@
package com.example;
import javax.inject.Inject;
import javax.inject.*;
public class YahooWeather implements WeatherService {

@ -0,0 +1,18 @@
package com.example;
import dagger.*;
@Module
public class YahooWeatherModule {
private final String key;
public YahooWeatherModule(String key) {
this.key = key;
}
@Provides
WeatherService provideWeatherService(WebSocket socket) {
return new YahooWeather(key, socket);
}
}