Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
 package se.ranzdo.bukkit.methodcommand.handlers;
 
 import  org.bukkit.command.CommandSender;
 
public abstract class NumberArgumentHandler<T extends Numberextends ArgumentHandler<T> {
		setMessage("min_error""The parameter [%p] must be equal or greater than %1");
		setMessage("max_error""The parameter [%p] must be equal or less than %1");
		setMessage("range_error""The parameter [%p] must be equal or greater than %1 and less than or equal to %2");
		addVerifier("min"new ArgumentVerifier<T>() {
			public void verify(CommandSender senderCommandArgument argumentString verifyNameString[] verifyArgs, T valueString valueRawthrows VerifyError {
				if(verifyArgs.length != 1)
					throw new InvalidVerifyArgument(argument.getName());
				try {
					double min = Double.parseDouble(verifyArgs[0]);
					if(value.doubleValue() < min)
						throw new VerifyError(argument.getMessage("min_error"verifyArgs[0]));
				}
				catch (NumberFormatException e) {
					throw new InvalidVerifyArgument(argument.getName());
				}
			}
		});
		addVerifier("max"new ArgumentVerifier<T>() {
			public void verify(CommandSender senderCommandArgument argumentString verifyNameString[] verifyArgs, T valueString valueRawthrows VerifyError {
				if(verifyArgs.length != 1)
					throw new InvalidVerifyArgument(argument.getName());
				try {
					double max = Double.parseDouble(verifyArgs[0]);
					if(value.doubleValue() > max)
						throw new VerifyError(argument.getMessage("max_error"verifyArgs[0]));
				}
				catch (NumberFormatException e) {
					throw new InvalidVerifyArgument(argument.getName());
				}
			}	
		});
		addVerifier("range"new ArgumentVerifier<T>() {
			public void verify(CommandSender senderCommandArgument argumentString verifyNameString[] verifyArgs, T valueString valueRawthrows VerifyError {
				if(verifyArgs.length != 2)
					throw new InvalidVerifyArgument(argument.getName());
				try {
					double min = Double.parseDouble(verifyArgs[0]);
					double max = Double.parseDouble(verifyArgs[1]);
					double dvalue = value.doubleValue();
					if(dvalue < min || dvalue > max)
						throw new VerifyError(argument.getMessage("range_error"verifyArgs[0], verifyArgs[1]));
				}
				catch (NumberFormatException e) {
					throw new InvalidVerifyArgument(argument.getName());
				}
			}
		});
	}
New to GrepCode? Check out our FAQ X