src/main/java/org/wymiwyg/commons/util/arguments/ArgumentHandler.java
public static <A> A readArguments(Class<A> interfaceClass, String[] args) {
        A result = null;
        try {
            final ArgumentHandler argumentHandler = new ArgumentHandler(args);
            result = argumentHandler.getInstance(interfaceClass);
            argumentHandler.processArguments(new ArgumentProcessor() {

                @Override
                public void process(List<String> remaining) throws InvalidArgumentsException {
                    if (remaining.size() > 0) {
                        throw new InvalidArgumentsException("The following arguments could not be understood: " + remaining);
                    }
                }
            });
        } catch (InvalidArgumentsException e) {
            System.out.println(e.getMessage());
            showUsage(interfaceClass);
            result = null;
        }
        if (result instanceof ArgumentsWithHelp) {
            if (((ArgumentsWithHelp)result).getHelp()) {
                showUsage(interfaceClass);
                result = null;
            }
        }
        return result;
    }
public static <A> A readArguments(Class<A> interfaceClass, String[] args) {
        A result = null;
        try {
            final ArgumentHandler argumentHandler = new ArgumentHandler(args);
            result = argumentHandler.getInstance(interfaceClass);
            argumentHandler.processArguments(new ArgumentProcessor() {

                @Override
                public void process(List<String> remaining) throws InvalidArgumentsException {
                    if (remaining.size() > 0) {
                        throw new InvalidArgumentsException("The following arguments could not be understood: " + remaining);
                    }
                }
            });
        } catch (InvalidArgumentsException e) {
            System.out.println(e.getMessage());
            showUsage(interfaceClass);
            result = null;
        }
        if (result instanceof ArgumentsWithHelp) {
            if (((ArgumentsWithHelp)result).getHelp()) {
                showUsage(interfaceClass);
                result = null;
            }
        }
        return result;
    }
public static < A > A readArguments ( Class < A > interfaceClass , String [ ] args ) { A result = null ; try { final ArgumentHandler argumentHandler = new ArgumentHandler ( args ) ; result = argumentHandler . getInstance ( interfaceClass ) ; argumentHandler . processArguments ( new ArgumentProcessor ( ) { @ Override public void process ( List < String > remaining ) throws InvalidArgumentsException { if ( remaining . size ( ) > 0 ) { throw new InvalidArgumentsException ( "The following arguments could not be understood: " + remaining ) ; } } } ) ; } catch ( InvalidArgumentsException e ) { System . out . println ( e . getMessage ( ) ) ; showUsage ( interfaceClass ) ; result = null ; } if ( result instanceof ArgumentsWithHelp ) { if ( ( ( ArgumentsWithHelp ) result ) . getHelp ( ) ) { showUsage ( interfaceClass ) ; result = null ; } } return result ; }
Returns an instance of A if the arguments could be correctly parsed
and A was not a subclass of ArgumentsWithHelp or no help was requested, null
otherwise.
@param <A>
@param interfaceClass
@param args
@return
Returns an instance of A if the arguments could be correctly parsed and A was not a subclass of ArgumentsWithHelp or no help was requested null otherwise .