1: Create CLI options' scaffolding

This commit is contained in:
Bartłomiej Pluta
2019-03-29 22:26:16 +01:00
parent c633360a02
commit 09582ffdb9
5 changed files with 68 additions and 1 deletions

View File

@@ -1,8 +1,25 @@
package com.bartek.esa; package com.bartek.esa;
import com.bartek.esa.cli.parser.CliArgsParser;
import com.bartek.esa.di.DaggerDependencyInjector;
import javax.inject.Inject;
public class EsaMain { public class EsaMain {
private final CliArgsParser cliArgsParser;
@Inject
EsaMain(CliArgsParser cliArgsParser) {
this.cliArgsParser = cliArgsParser;
}
private void run(String[] args) {
// cliArgsParser.parse(...)
}
public static void main(String[] args) { public static void main(String[] args) {
System.out.println("Hello, world!"); DaggerDependencyInjector.create()
.esa()
.run(args);
} }
} }

View File

@@ -0,0 +1,14 @@
package com.bartek.esa.cli.di;
import com.bartek.esa.cli.parser.CliArgsParser;
import dagger.Module;
import dagger.Provides;
@Module
public class CliModule {
@Provides
CliArgsParser cliArgsParser() {
return new CliArgsParser();
}
}

View File

@@ -0,0 +1,9 @@
package com.bartek.esa.cli.model;
import lombok.Builder;
import lombok.Data;
@Data
@Builder
public class CliArgsActions {
}

View File

@@ -0,0 +1,15 @@
package com.bartek.esa.cli.parser;
import com.bartek.esa.cli.model.CliArgsActions;
import javax.inject.Inject;
public class CliArgsParser {
@Inject
public CliArgsParser() {}
public void parse(String[] args, CliArgsActions actions) {
}
}

View File

@@ -0,0 +1,12 @@
package com.bartek.esa.di;
import com.bartek.esa.EsaMain;
import com.bartek.esa.cli.di.CliModule;
import dagger.Component;
@Component(modules = {
CliModule.class
})
public interface DependencyInjector {
EsaMain esa();
}