d3adspace / phaedra

A simple and very easy to use command line argument parser.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Phaedra

Youre tired about parsing command line arguments with endless lines of code in your main class? Then you will fall in love with phaedra in an instant. Phaedra is supposed to easily parse command line arguments. It is not really ready to use and still under heavy development.

Installation / Usage

  • Install Maven
  • Clone this repo
  • Install: mvn clean install

Maven dependencies

<dependency>
    <groupId>de.d3adspace</groupId>
    <artifactId>phaedra</artifactId>
    <version>1.0-SNAPSHOT</version>
</dependency>

Example

Parsing:

Phaedra phaedra = PhaedraFactory.createPhaedra();
		
phaedra.setOptionProvider(PhaedraExampleOptionProvider.class);
PhaedraExampleOptionProvider provider = (PhaedraExampleOptionProvider) phaedra.parse("java -jar server-jar -h PhaedraCommandLineParser -y localhost:8080,localhost:8081,localhost:8082 -s".split(" "));
		
String appName = provider.getAppName();
List<String> hosts = provider.getHosts();
boolean useSSL = provider.isSslEnabled();

Provider:

public class PhaedraExampleOptionProvider {
	
	@Option(key = "h")
	private String appName = "Phaedra";
	
	@Option(key = "y")
	private List<String> hosts = new ArrayList<>();
	
	@Option(key = "s", needsValue = false)
	private boolean sslEnabled = false;
	
	public String getAppName() {
		return appName;
	}
	
	public List<String> getHosts() {
		return hosts;
	}
	
	public boolean isSslEnabled() {
		return sslEnabled;
	}
}

About

A simple and very easy to use command line argument parser.


Languages

Language:Java 100.0%