1 9 package com.vladium.util.args; 10 11 import java.io.PrintWriter ; 12 13 17 public 18 interface IOptsParser 19 { 20 22 int SHORT_USAGE = 1; 23 int DETAILED_USAGE = 2; 24 25 interface IOpt 26 { 27 String getName (); 28 String getCanonicalName (); 29 30 String getPatternPrefix (); 31 32 int getValueCount (); 33 String getFirstValue (); 34 String [] getValues (); 35 36 } 38 39 interface IOpts 40 { 41 46 int usageRequestLevel (); 47 void error (PrintWriter out, int width); 48 49 IOpt [] getOpts (); 50 boolean hasArg (String name); 51 52 IOpt [] getOpts (String pattern); 53 54 58 String [] getFreeArgs (); 59 60 } 62 void usage (PrintWriter out, int level, int width); 63 IOpts parse (String [] args); 64 65 abstract class Factory 66 { 67 69 public static IOptsParser create (final String metadataResourceName, final ClassLoader loader, 70 final String msgPrefix, final String [] usageOpts) 71 { 72 return new OptsParser (metadataResourceName, loader, msgPrefix, usageOpts); 73 } 74 75 } 77 } | Popular Tags |