// Copyright 2004, 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; /** * Test case for Argv package. * * @author Mark Donszelmann * @version $Id: ArgvTest.java 10558 2007-03-01 19:38:51Z duns $ */ public class ArgvTest { public static void main(String[] args) { BooleanOption help = new BooleanOption( "-help", "Describe command line args", true ); StringOption dst = new StringOption( "-dest", "destination", "localhost", "Destination for request tests" ); DoubleOption scale = new DoubleOption( "-scale", "factor", 1.0, "Scale output by factor"); IntOption page = new IntOption( "-page", "#", 1, "Display page #"); StringParameter file = new StringParameter( "File", "InputFile"); ListParameter files = new ListParameter( "Files", "Additional Input Files"); ArgumentParser parser = new ArgumentParser("ArgvTest"); parser.add( dst ); parser.add( help ); parser.add( scale ); parser.add( page ); parser.add( file); parser.add( files); try { List extra = parser.parse( args ); if( !extra.isEmpty() || 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("dest = "+dst.getValue()); System.out.println("scale = "+scale.getDouble()); System.out.println("page = "+page.getInt()); System.out.println("file = "+file.getValue()); int n = 0; for (Iterator i=files.getValue().iterator(); i.hasNext(); ) { n++; System.out.println("files["+n+"] = "+i.next()); } } }