better number error msg (#108)

This commit is contained in:
MiniDigger
2018-03-11 16:42:08 +01:00
committed by Daniel Ennis
parent 59b21d270d
commit 79f4074caf
2 changed files with 16 additions and 15 deletions
@@ -49,77 +49,77 @@ public class CommandContexts <R extends CommandExecutionContext<?, ? extends Com
try {
return parseAndValidateNumber(c, Short.MAX_VALUE).shortValue();
} catch (NumberFormatException e) {
throw new InvalidCommandArgument(MessageKeys.MUST_BE_A_NUMBER);
throw new InvalidCommandArgument(MessageKeys.MUST_BE_A_NUMBER, "{num}", c.getFirstArg());
}
});
registerContext(short.class, (c) -> {
try {
return parseAndValidateNumber(c, Short.MAX_VALUE).shortValue();
} catch (NumberFormatException e) {
throw new InvalidCommandArgument(MessageKeys.MUST_BE_A_NUMBER);
throw new InvalidCommandArgument(MessageKeys.MUST_BE_A_NUMBER, "{num}", c.getFirstArg());
}
});
registerContext(Integer.class, (c) -> {
try {
return parseAndValidateNumber(c, Integer.MAX_VALUE).intValue();
} catch (NumberFormatException e) {
throw new InvalidCommandArgument(MessageKeys.MUST_BE_A_NUMBER);
throw new InvalidCommandArgument(MessageKeys.MUST_BE_A_NUMBER, "{num}", c.getFirstArg());
}
});
registerContext(int.class, (c) -> {
try {
return parseAndValidateNumber(c, Integer.MAX_VALUE).intValue();
} catch (NumberFormatException e) {
throw new InvalidCommandArgument(MessageKeys.MUST_BE_A_NUMBER);
throw new InvalidCommandArgument(MessageKeys.MUST_BE_A_NUMBER, "{num}", c.getFirstArg());
}
});
registerContext(Long.class, (c) -> {
try {
return parseAndValidateNumber(c, Long.MAX_VALUE).longValue();
} catch (NumberFormatException e) {
throw new InvalidCommandArgument(MessageKeys.MUST_BE_A_NUMBER);
throw new InvalidCommandArgument(MessageKeys.MUST_BE_A_NUMBER, "{num}", c.getFirstArg());
}
});
registerContext(long.class, (c) -> {
try {
return parseAndValidateNumber(c, Long.MAX_VALUE).longValue();
} catch (NumberFormatException e) {
throw new InvalidCommandArgument(MessageKeys.MUST_BE_A_NUMBER);
throw new InvalidCommandArgument(MessageKeys.MUST_BE_A_NUMBER, "{num}", c.getFirstArg());
}
});
registerContext(Float.class, (c) -> {
try {
return parseAndValidateNumber(c, Float.MAX_VALUE).floatValue();
} catch (NumberFormatException e) {
throw new InvalidCommandArgument(MessageKeys.MUST_BE_A_NUMBER);
throw new InvalidCommandArgument(MessageKeys.MUST_BE_A_NUMBER, "{num}", c.getFirstArg());
}
});
registerContext(float.class, (c) -> {
try {
return parseAndValidateNumber(c, Float.MAX_VALUE).floatValue();
} catch (NumberFormatException e) {
throw new InvalidCommandArgument(MessageKeys.MUST_BE_A_NUMBER);
throw new InvalidCommandArgument(MessageKeys.MUST_BE_A_NUMBER, "{num}", c.getFirstArg());
}
});
registerContext(Double.class, (c) -> {
try {
return parseAndValidateNumber(c, Double.MAX_VALUE).doubleValue();
} catch (NumberFormatException e) {
throw new InvalidCommandArgument(MessageKeys.MUST_BE_A_NUMBER);
throw new InvalidCommandArgument(MessageKeys.MUST_BE_A_NUMBER, "{num}", c.getFirstArg());
}
});
registerContext(double.class, (c) -> {
try {
return parseAndValidateNumber(c, Double.MAX_VALUE).doubleValue();
} catch (NumberFormatException e) {
throw new InvalidCommandArgument(MessageKeys.MUST_BE_A_NUMBER);
throw new InvalidCommandArgument(MessageKeys.MUST_BE_A_NUMBER, "{num}", c.getFirstArg());
}
});
registerContext(Number.class, (c) -> {
try {
return parseAndValidateNumber(c, Double.MAX_VALUE);
} catch (NumberFormatException e) {
throw new InvalidCommandArgument(MessageKeys.MUST_BE_A_NUMBER);
throw new InvalidCommandArgument(MessageKeys.MUST_BE_A_NUMBER, "{num}", c.getFirstArg());
}
});
registerContext(BigDecimal.class, (c) -> {
@@ -128,7 +128,7 @@ public class CommandContexts <R extends CommandExecutionContext<?, ? extends Com
validateMinMax(c, number, null);
return number;
} catch (NumberFormatException e) {
throw new InvalidCommandArgument(MessageKeys.MUST_BE_A_NUMBER);
throw new InvalidCommandArgument(MessageKeys.MUST_BE_A_NUMBER, "{num}", c.getFirstArg());
}
});
registerContext(BigInteger.class, (c) -> {
@@ -137,7 +137,7 @@ public class CommandContexts <R extends CommandExecutionContext<?, ? extends Com
validateMinMax(c, number, null);
return number.toBigIntegerExact();
} catch (NumberFormatException e) {
throw new InvalidCommandArgument(MessageKeys.MUST_BE_A_NUMBER);
throw new InvalidCommandArgument(MessageKeys.MUST_BE_A_NUMBER, "{num}", c.getFirstArg());
}
});
registerContext(Boolean.class, (c) -> ACFUtil.isTruthy(c.popFirstArg()));
@@ -243,8 +243,9 @@ public class CommandContexts <R extends CommandExecutionContext<?, ? extends Com
@NotNull
private Number parseAndValidateNumber(R c, Number maxValue) throws InvalidCommandArgument {
Number val = ACFUtil.parseNumber(c.popFirstArg(), c.hasFlag("suffixes"));
Number val = ACFUtil.parseNumber(c.getFirstArg(), c.hasFlag("suffixes"));
validateMinMax(c, val, maxValue);
c.popFirstArg(); // pop later so we can have a chance to display a nicer error message
return val;
}
+1 -1
View File
@@ -28,7 +28,7 @@ acf-core.error_prefix = Error: {message}
acf-core.error_performing_command = I'm sorry, but there was an error performing this command.
acf-core.info_message = {message}
acf-core.please_specify_one_of = Error: Please specify one of (<c2>{valid}</c2>).
acf-core.must_be_a_number = Error: Must be a number.
acf-core.must_be_a_number = Error: {num} must be a number.
acf-core.must_be_min_length = Error: Must be at least {min} characters long.
acf-core.must_be_max_length = Error: Must be at most {max} characters long.
acf-core.please_specify_at_most = Error: Please specify a value at most {max}.