// Copyright 2007, FreeHEP.
package org.freehep.util.argv.test;
import java.util.Iterator;
import java.util.List;
import org.freehep.util.argv.ArgumentFormatException;
import org.freehep.util.argv.ArgumentParser;
import org.freehep.util.argv.BooleanOption;
import org.freehep.util.argv.DoubleOption;
import org.freehep.util.argv.IntOption;
import org.freehep.util.argv.ListParameter;
import org.freehep.util.argv.MissingArgumentException;
import org.freehep.util.argv.StringOption;
import org.freehep.util.argv.StringParameter;
/**
* StringOption test.
*
* @author Mark Donszelmann
* @version $Id: ArgvTest.java 10558 2007-03-01 19:38:51Z duns $
*/
public class StringOptionTest {
public static void main(String[] args) {
BooleanOption help = new BooleanOption("-help", "-h", "Describe command line args", true );
StringOption so1 = new StringOption("-so1", "option", "Description of option" );
StringOption so2 = new StringOption("-so2", "option", "default", "Description of option" );
StringOption so3 = new StringOption("-so3", "-s", "option", "default", "Description of option" );
ArgumentParser parser = new ArgumentParser("StringOptionTest");
parser.add( help );
parser.add( so1 );
parser.add( so2 );
parser.add( so3 );
List extra = null;
try {
extra = parser.parse( args );
if (help.getValue()) {
parser.printUsage( System.out );
System.exit( 0 );
}
} catch (MissingArgumentException mae) {
System.out.println(mae.getMessage());
System.exit(1);
} catch (ArgumentFormatException afe) {
System.out.println(afe.getMessage());
System.exit(1);
}
System.out.println("ArgvTest ok");
System.out.println("so1 = "+so1.getValue());
System.out.println("so2 = "+so2.getValue());
System.out.println("so3 = "+so3.getValue());
for (Iterator i=extra.iterator(); i.hasNext(); ) {
System.out.println("Extra: '"+i.next()+"'");
}
}
}