package edu.uw.zookeeper.common;
import com.google.common.base.Optional;
/**
* Command-line argument parser.
*
*/
public interface Arguments extends Iterable<Arguments.Option> {
public static interface Option {
boolean hasValue();
String getValue();
void setValue(String value);
String getName();
Optional<String> getHelp();
Optional<String> getDefaultValue();
String getUsage();
}
Option addOption(String name, Optional<String> help,
Optional<String> defaultValue);
Option addOption(String name, String help);
Option addOption(String name);
boolean has(String name);
boolean hasValue(String name);
String getValue(String name);
boolean helpOptionSet();
String getUsage();
void setArgs(String[] args);
String[] getArgs();
void parse();
void illegalValue(String name, String value);
String getProgramName();
void setProgramName(String name);
String getDescription();
Arguments setDescription(String description);
}