This can be done the same way that someone would check if a double is an integer, performing % 1 == 0. This is how it would look for a BigDecimal value.
public static boolean isIntegerValue(BigDecimal bd){
return bd.remainder(BigDecimal.ONE).compareTo(BigDecimal.ZERO) == 0;
}