package com.aggrepoint.winlet.utils;
import org.owasp.esapi.ESAPI;
import org.owasp.esapi.Validator;
import org.owasp.esapi.errors.ValidationException;
/**
* @author: Yang Jiang Ming
*/
public class ValidateUtils {
private static Validator validator = ESAPI.validator();
static String getContext() {
return "";
}
/**
* Integer Validation
*
* @param context
* @param input
* @param minValue
* @param maxValue
* @param allowNull
* @return
*/
public static Integer validateInteger(final String context,
final String input, final int minValue, final int maxValue,
final boolean allowNull) throws ValidationException {
return validator.getValidInteger(context, input, minValue, maxValue,
allowNull);
}
public static Integer validateInteger(final String input,
final int minValue, final int maxValue, final boolean allowNull)
throws ValidationException {
return validateInteger(getContext(), input, minValue, maxValue,
allowNull);
}
public static Integer validateInteger(String input, boolean allowNull)
throws ValidationException {
return validateInteger(getContext(), input, Integer.MIN_VALUE,
Integer.MAX_VALUE, allowNull);
}
public static Integer validateInteger(String input)
throws ValidationException {
return validateInteger(getContext(), input, Integer.MIN_VALUE,
Integer.MAX_VALUE, true);
}
/**
* Double Validation
*
* @param context
* @param input
* @param minValue
* @param maxValue
* @param allowNull
* @return
*/
public static Double validateDouble(final String context,
final String input, final double minValue, final double maxValue,
final boolean allowNull) throws ValidationException {
return validator.getValidDouble(context, input, minValue, maxValue,
allowNull);
}
public static Double validateDouble(final String input,
final double minValue, final double maxValue,
final boolean allowNull) throws ValidationException {
return validateDouble(getContext(), input, minValue, maxValue,
allowNull);
}
public static Double validateDouble(String input, boolean allowNull)
throws ValidationException {
return validateDouble(getContext(), input, Double.MIN_VALUE,
Double.MAX_VALUE, allowNull);
}
public static Double validateDouble(String input)
throws ValidationException {
return validateDouble(getContext(), input, Double.MIN_VALUE,
Double.MAX_VALUE, true);
}
/**
* Number Validation
*
* @param context
* @param input
* @param minValue
* @param maxValue
* @param allowNull
* @return
*/
public static Double validateNumber(final String context,
final String input, final long minValue, final long maxValue,
final boolean allowNull) throws ValidationException {
return validator.getValidNumber(context, input, minValue, maxValue,
allowNull);
}
public static Double validateNumber(final String input,
final long minValue, final long maxValue, final boolean allowNull)
throws ValidationException {
return validateNumber(getContext(), input, minValue, maxValue,
allowNull);
}
public static Double validateNumber(String input, boolean allowNull)
throws ValidationException {
return validateNumber(getContext(), input, Long.MIN_VALUE,
Long.MAX_VALUE, allowNull);
}
public static Double validateNumber(String input)
throws ValidationException {
return validateNumber(getContext(), input, Long.MIN_VALUE,
Long.MAX_VALUE, true);
}
/**
* Regular Expression Validation
*
* @param context
* @param input
* @param type
* @param maxLength
* @param allowNull
* @param canonicalize
* @return
*/
public static String validateInput(final String context,
final String input, final String type, final int maxLength,
final boolean allowNull, final boolean canonicalize)
throws ValidationException {
return validator.getValidInput(context, input, type, maxLength,
allowNull, canonicalize);
}
public static String validateInput(final String input, final String type,
final int maxLength, final boolean allowNull,
final boolean canonicalize) throws ValidationException {
return validateInput(getContext(), input, type, maxLength, allowNull,
canonicalize);
}
public static String validateInput(final String input, final String type,
final int maxLength) throws ValidationException {
return validateInput(getContext(), input, type, maxLength, true, true);
}
public static String validateInput(final String input, final String type)
throws ValidationException {
return validateInput(getContext(), input, type, Integer.MAX_VALUE,
true, true);
}
public static String validateUrl(final String input)
throws ValidationException {
return validateInput(getContext(), input, "URL", Integer.MAX_VALUE,
true, true);
}
public static String validateUrl(final Object input)
throws ValidationException {
if (input == null)
return null;
return validateInput(getContext(), input.toString(), "URL",
Integer.MAX_VALUE, true, true);
}
public static String validateOrderBy(final String input)
throws ValidationException {
return validateInput(getContext(), input, "SQL.ORDER_BY",
Integer.MAX_VALUE, true, true);
}
}