diff options
| author | Benjamin J. Culkin <bjculkin@mix.wvu.edu> | 2017-09-09 21:46:16 -0300 |
|---|---|---|
| committer | Benjamin J. Culkin <bjculkin@mix.wvu.edu> | 2017-09-09 21:47:34 -0300 |
| commit | d766896972c9e9be4a9e0021ec5f4f0665901865 (patch) | |
| tree | 1f6473300ef86e0697d682360bea0d28fc144baa /BJC-Utils2/src/main/java/bjc/utils/ioutils/RuleBasedReaderPragmas.java | |
| parent | 40f3a28569366c4357fbda11d2fff3b77686d84f (diff) | |
Update
Most of it is documentation changes.
The rest is more work on BlockReaders, as well as a simple command
language for configuring them.
Diffstat (limited to 'BJC-Utils2/src/main/java/bjc/utils/ioutils/RuleBasedReaderPragmas.java')
| -rw-r--r-- | BJC-Utils2/src/main/java/bjc/utils/ioutils/RuleBasedReaderPragmas.java | 48 |
1 files changed, 34 insertions, 14 deletions
diff --git a/BJC-Utils2/src/main/java/bjc/utils/ioutils/RuleBasedReaderPragmas.java b/BJC-Utils2/src/main/java/bjc/utils/ioutils/RuleBasedReaderPragmas.java index ccb73a4..e26a7ee 100644 --- a/BJC-Utils2/src/main/java/bjc/utils/ioutils/RuleBasedReaderPragmas.java +++ b/BJC-Utils2/src/main/java/bjc/utils/ioutils/RuleBasedReaderPragmas.java @@ -28,21 +28,32 @@ public class RuleBasedReaderPragmas { public static <StateType> BiConsumer<FunctionalStringTokenizer, StateType> buildInteger(final String name, final BiConsumer<Integer, StateType> consumer) { return (tokenizer, state) -> { - // Check our input is correct - if (!tokenizer.hasMoreTokens()) - throw new PragmaFormatException("Pragma " + name + " requires one integer argument"); + /* + * Check our input is correct + */ + if (!tokenizer.hasMoreTokens()) { + String fmt = "Pragma %s requires one integer argument"; - // Read the argument + throw new PragmaFormatException(String.format(fmt, name)); + } + + /* + * Read the argument + */ final String token = tokenizer.nextToken(); try { - // Run the pragma + /* + * Run the pragma + */ consumer.accept(Integer.parseInt(token), state); } catch (final NumberFormatException nfex) { - // Tell the user their argument isn't correct - final PragmaFormatException pfex = new PragmaFormatException( - "Argument " + token + " to " + name + " pragma isn't a valid integer. " - + "This pragma requires a integer argument"); + /* + * Tell the user their argument isn't correct + */ + String fmt = "Argument %s to %s pragma isn't a valid integer, and this pragma requires an integer argument."; + + final PragmaFormatException pfex = new PragmaFormatException(String.format(fmt, token, name)); pfex.initCause(nfex); @@ -66,14 +77,23 @@ public class RuleBasedReaderPragmas { public static <StateType> BiConsumer<FunctionalStringTokenizer, StateType> buildStringCollapser( final String name, final BiConsumer<String, StateType> consumer) { return (tokenizer, state) -> { - // Check our input - if (!tokenizer.hasMoreTokens()) throw new PragmaFormatException( - "Pragma " + name + " requires one or more string arguments"); + /* + * Check our input + */ + if (!tokenizer.hasMoreTokens()) { + String fmt = "Pragma %s requires one or more string arguments."; + + throw new PragmaFormatException(String.format(fmt, name)); + } - // Build our argument + /* + * Build our argument + */ final String collapsed = ListUtils.collapseTokens(tokenizer.toList()); - // Run the pragma + /* + * Run the pragma + */ consumer.accept(collapsed, state); }; } |
