package com.netflix.governator.commons_cli;
import javax.annotation.PostConstruct;
import javax.inject.Inject;
import javax.inject.Named;
import com.google.inject.AbstractModule;
import com.netflix.governator.commons_cli.modules.OptionsModule;
import com.netflix.governator.guice.annotations.GovernatorConfiguration;
public class ExampleMain {
@GovernatorConfiguration
public static class MyBootstrap extends AbstractModule {
@Override
protected void configure() {
bind(ExampleMain.class).asEagerSingleton();
install(new OptionsModule() {
@Override
protected void configureOptions() {
option('f').hasArgs();
}
});
}
}
public static void main(final String args[]) {
Cli.start(MyBootstrap.class, args);
}
@Inject
public ExampleMain(@Named("f") String filename) {
System.out.println("filename=" + filename);
}
@PostConstruct
public void initialize() {
System.out.println("Application starting");
}
@PostConstruct
public void shutdown() {
System.out.println("Application stopping");
}
}