| 1 | |
|
| 2 | |
|
| 3 | |
|
| 4 | |
|
| 5 | |
|
| 6 | |
package joptsimple; |
| 7 | |
|
| 8 | |
|
| 9 | |
|
| 10 | |
|
| 11 | |
|
| 12 | |
|
| 13 | |
|
| 14 | |
|
| 15 | |
|
| 16 | 608 | abstract class OptionParserState { |
| 17 | |
static OptionParserState noMoreOptions() { |
| 18 | 26 | return new OptionParserState() { |
| 19 | 26 | protected void handleArgument( OptionParser parser, ArgumentList arguments, |
| 20 | |
OptionSet detectedOptions ) { |
| 21 | |
|
| 22 | 118 | detectedOptions.addNonOptionArgument( arguments.next() ); |
| 23 | 118 | } |
| 24 | |
}; |
| 25 | |
} |
| 26 | |
|
| 27 | |
static OptionParserState moreOptions( final boolean posixlyCorrect ) { |
| 28 | 582 | return new OptionParserState() { |
| 29 | 582 | protected void handleArgument( OptionParser parser, ArgumentList arguments, |
| 30 | |
OptionSet detectedOptions ) { |
| 31 | |
|
| 32 | 476 | String candidate = arguments.next(); |
| 33 | 476 | if ( ParserRules.isOptionTerminator( candidate ) ) |
| 34 | 10 | parser.noMoreOptions(); |
| 35 | 466 | else if ( ParserRules.isLongOptionToken( candidate ) ) |
| 36 | 92 | parser.handleLongOptionToken( candidate, arguments, detectedOptions ); |
| 37 | 374 | else if ( ParserRules.isShortOptionToken( candidate ) ) |
| 38 | 314 | parser.handleShortOptionToken( candidate, arguments, |
| 39 | |
detectedOptions ); |
| 40 | |
else { |
| 41 | 60 | if ( posixlyCorrect ) |
| 42 | 10 | parser.noMoreOptions(); |
| 43 | |
|
| 44 | 60 | detectedOptions.addNonOptionArgument( candidate ); |
| 45 | |
} |
| 46 | 444 | } |
| 47 | |
}; |
| 48 | |
} |
| 49 | |
|
| 50 | |
protected abstract void handleArgument( OptionParser parser, ArgumentList arguments, |
| 51 | |
OptionSet detectedOptions ); |
| 52 | |
} |